diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index 4ab8f50489e7..d0968d9ecad0 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -126,6 +126,12 @@ $(eval $(call gb_Module_add_perfcheck_targets,sc,\
CppunitTest_sc_tablesheetobj \
))
+ifneq ($(DISABLE_PYTHON),TRUE)
+$(eval $(call gb_Module_add_subsequentcheck_targets,sc,\
+ PythonTest_sc_python \
+))
+endif
+
# screenshots
$(eval $(call gb_Module_add_screenshot_targets,sc,\
CppunitTest_sc_screenshots \
diff --git a/sc/PythonTest_sc_python.mk b/sc/PythonTest_sc_python.mk
new file mode 100644
index 000000000000..55d992565d98
--- /dev/null
+++ b/sc/PythonTest_sc_python.mk
@@ -0,0 +1,16 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_PythonTest_PythonTest,sc_python))
+
+$(eval $(call gb_PythonTest_add_modules,sc_python,$(SRCDIR)/sc/qa/python,\
+ CalcRTL \
+))
+
+# vim: set noet sw=4 ts=4:
\ No newline at end of file
diff --git a/sc/qa/complex/sc/CalcRTL.java b/sc/qa/complex/sc/CalcRTL.java
index 57529e6d709f..7bb1ec405b7f 100644
--- a/sc/qa/complex/sc/CalcRTL.java
+++ b/sc/qa/complex/sc/CalcRTL.java
@@ -65,43 +65,6 @@ public class CalcRTL
* 3. A calc document is opened and a shape inserted, afterwards the effect of changing the TableLayout to the shape is checked
*/
- /*
- * In this method a spreadsheet document is opened
- * afterwards all properties of the Spreadsheet are checked.
- *
- * These are
- *
- *- IsVisible
- *
- PageStyle
- *
- TableLayout
- *
- */
- @Test public void checkSpreadsheetProperties() {
- assertTrue("Couldn't open document", openSpreadsheetDocument());
-
- XPropertySet set = UnoRuntime.queryInterface(
- XPropertySet.class, getSpreadsheet());
-
- // Make sure there are at least 2 sheets, otherwise hiding a sheet won't work
- xSheetDoc.getSheets().insertNewByName("Some Sheet", (short)0);
-
- assertTrue("Problems when setting property 'IsVisible'",
- changeProperty(set, "IsVisible", Boolean.FALSE));
- assertTrue("Problems when setting property 'IsVisible'",
- changeProperty(set, "IsVisible", Boolean.TRUE));
- assertTrue("Problems when setting property 'PageStyle'",
- changeProperty(set, "PageStyle", "Report"));
- assertTrue("Problems when setting property 'PageStyle'",
- changeProperty(set, "PageStyle", "Default"));
- assertTrue("Problems when setting property 'TableLayout'",
- changeProperty(set, "TableLayout",
- Short.valueOf(com.sun.star.text.WritingMode2.RL_TB)));
- assertTrue("Problems when setting property 'TableLayout'",
- changeProperty(set, "TableLayout",
- Short.valueOf(com.sun.star.text.WritingMode2.LR_TB)));
- assertTrue("Couldn't close document", closeSpreadsheetDocument());
- }
-
/*
* In this method a spreadsheet document is opened and a shape inserted
* afterwards all calc specific properties of the Shape are checked.
diff --git a/sc/qa/python/CalcRTL.py b/sc/qa/python/CalcRTL.py
new file mode 100644
index 000000000000..065cc596eabf
--- /dev/null
+++ b/sc/qa/python/CalcRTL.py
@@ -0,0 +1,76 @@
+'''
+ This is file is part of the LibreOffice project.
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ This file incorporates work covered by the following license notice:
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright
+ ownership. The ASF licenses this file to you under the Apache
+ License, Version 2.0 (the "License"); you may not use this file
+ except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 .
+'''
+
+import unittest
+from org.libreoffice.unotest import UnoInProcess
+from com.sun.star.text.WritingMode2 import RL_TB as __WritingMode2_RL_TB__
+from com.sun.star.text.WritingMode2 import LR_TB as __WritingMode2_LR_TB__
+
+class CalcRTL(unittest.TestCase):
+ xSheetDoc = None
+
+ @classmethod
+ def setUpClass(cls):
+ cls._uno = UnoInProcess()
+ cls._uno.setUp()
+
+ @classmethod
+ def tearDownClass(cls):
+ cls._uno.tearDown()
+
+ def testSpreadsheetProperties(self):
+ self.assertTrue(self.openSpreadsheetDocument(), msg="Couldn't open document")
+
+ set= self.getSpreadsheet()
+ # Make sure there are at least 2 sheets, otherwise hiding a sheet won't work
+ self.xSheetDoc.getSheets().insertNewByName("Some Sheet", 0)
+
+ self._uno.checkProperties(set,{'IsVisible': False}, self)
+ self._uno.checkProperties(set,{'IsVisible': True}, self)
+ self._uno.checkProperties(set,{'PageStyle': 'Report'}, self)
+ self._uno.checkProperties(set,{'PageStyle': 'Default'}, self)
+ self._uno.checkProperties(set,{'TableLayout': __WritingMode2_RL_TB__}, self)
+ self._uno.checkProperties(set,{'TableLayout': __WritingMode2_LR_TB__}, self)
+
+ self.assertTrue(self.closeSpreadsheetDocument(), msg="Couldn't close document")
+
+ def openSpreadsheetDocument(self):
+ worked = True
+ print("creating a sheetdocument")
+ try:
+ self.xSheetDoc = self._uno.openEmptyCalcDoc()
+ except Exception:
+ worked = False
+ raise
+ return worked
+
+ def closeSpreadsheetDocument(self):
+ worked = True
+ print(" disposing xSheetDoc ")
+ try:
+ self.xSheetDoc.close(0)
+ except Exception:
+ worked = False
+ raise
+ return worked
+
+ def getSpreadsheet(self):
+ return self.xSheetDoc.getSheets().getByIndex(0)
+
+if __name__ == '__main__':
+ unittest.main()