From a87d79a1fae8af3fafdbc1b6d5e0f3adc454d4bf Mon Sep 17 00:00:00 2001 From: Kappanneo Date: Mon, 29 May 2017 12:23:21 +0200 Subject: [PATCH] tdf#97362 CalcRTL unittest partially migarted to python (CalcRTL.py) java checkSpreadsheetProperties to python testSpreadsheetProperties Change-Id: Ifd342d3f47aef8a64a0421b6bb7f2a643bdc6da8 Reviewed-on: https://gerrit.libreoffice.org/38159 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- sc/Module_sc.mk | 6 +++ sc/PythonTest_sc_python.mk | 16 ++++++++ sc/qa/complex/sc/CalcRTL.java | 37 ----------------- sc/qa/python/CalcRTL.py | 76 +++++++++++++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 37 deletions(-) create mode 100644 sc/PythonTest_sc_python.mk create mode 100644 sc/qa/python/CalcRTL.py 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()