tdf#134734 sd,sw: add UITests

Change-Id: I674066b1c998f35e1d21a575669a131721e41113
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113004
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
diff --git a/sd/qa/uitest/impress_tests/tdf134734.py b/sd/qa/uitest/impress_tests/tdf134734.py
new file mode 100644
index 0000000..29641e0
--- /dev/null
+++ b/sd/qa/uitest/impress_tests/tdf134734.py
@@ -0,0 +1,111 @@
# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
#
# 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/.
#

from uitest.framework import UITestCase
from libreoffice.uno.propertyvalue import mkPropertyValues
from uitest.uihelper.common import get_state_as_dict, select_pos
from com.sun.star.drawing.FillStyle import SOLID
import importlib

class TestClass(UITestCase):
    def test_master_page_background(self):
        self.ui_test.create_doc_in_start_center("impress")
        document = self.ui_test.get_component()
        TemplateDialog = self.xUITest.getTopFocusWindow()
        close = TemplateDialog.getChild("close")
        self.ui_test.close_dialog_through_button(close)

        # set margins and fill color
        self.ui_test.execute_dialog_through_command(".uno:PageSetup")
        DrawPageDialog = self.xUITest.getTopFocusWindow()
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "0")
        checkBackgroundFullSize = DrawPageDialog.getChild("checkBackgroundFullSize")
        self.assertEqual(get_state_as_dict(checkBackgroundFullSize)["Selected"], "false")
        spinMargLeft = DrawPageDialog.getChild("spinMargLeft")
        for _ in range(20):
            spinMargLeft.executeAction("UP",tuple())
        spinMargRight = DrawPageDialog.getChild("spinMargRight")
        for _ in range(15):
            spinMargRight.executeAction("UP",tuple())
        spinMargTop = DrawPageDialog.getChild("spinMargTop")
        for _ in range(10):
            spinMargTop.executeAction("UP",tuple())
        spinMargBot = DrawPageDialog.getChild("spinMargBot")
        for _ in range(5):
            spinMargBot.executeAction("UP",tuple())
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "1")
        btncolor = DrawPageDialog.getChild("btncolor")
        btncolor.executeAction("CLICK",tuple())
        ok = DrawPageDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(ok)

        self.assertEqual(
          document.DrawPages.getByIndex(0).Background.FillStyle, SOLID)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderLeft, 1016)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderRight, 762)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderTop, 508)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderBottom, 254)
        self.assertEqual(
          document.MasterPages.getByIndex(0).BackgroundFullSize, False)

        # check it
        self.ui_test.execute_dialog_through_command(".uno:PageSetup")
        DrawPageDialog = self.xUITest.getTopFocusWindow()
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "0")
        checkBackgroundFullSize = DrawPageDialog.getChild("checkBackgroundFullSize")
        self.assertEqual(get_state_as_dict(checkBackgroundFullSize)["Selected"], "false")
        checkBackgroundFullSize.executeAction("CLICK",tuple())
        ok = DrawPageDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(ok)

        self.assertEqual(
          document.DrawPages.getByIndex(0).Background.FillStyle, SOLID)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderLeft, 1016)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderRight, 762)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderTop, 508)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderBottom, 254)
        self.assertEqual(
          document.MasterPages.getByIndex(0).BackgroundFullSize, True)

        # uncheck it again
        self.ui_test.execute_dialog_through_command(".uno:PageSetup")
        DrawPageDialog = self.xUITest.getTopFocusWindow()
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "0")
        checkBackgroundFullSize = DrawPageDialog.getChild("checkBackgroundFullSize")
        self.assertEqual(get_state_as_dict(checkBackgroundFullSize)["Selected"], "true")
        checkBackgroundFullSize.executeAction("CLICK",tuple())
        ok = DrawPageDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(ok)

        self.assertEqual(
          document.DrawPages.getByIndex(0).Background.FillStyle, SOLID)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderLeft, 1016)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderRight, 762)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderTop, 508)
        self.assertEqual(
          document.DrawPages.getByIndex(0).BorderBottom, 254)
        self.assertEqual(
          document.MasterPages.getByIndex(0).BackgroundFullSize, False)

        self.ui_test.close_doc()

# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sw/qa/uitest/writer_tests/tdf134734.py b/sw/qa/uitest/writer_tests/tdf134734.py
new file mode 100644
index 0000000..5685f00
--- /dev/null
+++ b/sw/qa/uitest/writer_tests/tdf134734.py
@@ -0,0 +1,92 @@
# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
#
# 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/.
#

from uitest.framework import UITestCase
from libreoffice.uno.propertyvalue import mkPropertyValues
from uitest.uihelper.common import get_state_as_dict, select_pos
from com.sun.star.drawing.FillStyle import SOLID
import importlib

class TestClass(UITestCase):
    def test_master_page_background(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()

        # set margins and fill color
        self.ui_test.execute_dialog_through_command(".uno:PageDialog")
        DrawPageDialog = self.xUITest.getTopFocusWindow()
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "1")
        checkBackgroundFullSize = DrawPageDialog.getChild("checkBackgroundFullSize")
        self.assertEqual(get_state_as_dict(checkBackgroundFullSize)["Selected"], "true")
        spinMargLeft = DrawPageDialog.getChild("spinMargLeft")
        for _ in range(20):
            spinMargLeft.executeAction("UP",tuple())
        spinMargRight = DrawPageDialog.getChild("spinMargRight")
        for _ in range(15):
            spinMargRight.executeAction("UP",tuple())
        spinMargTop = DrawPageDialog.getChild("spinMargTop")
        for _ in range(10):
            spinMargTop.executeAction("UP",tuple())
        spinMargBot = DrawPageDialog.getChild("spinMargBot")
        for _ in range(5):
            spinMargBot.executeAction("UP",tuple())
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "2")
        btncolor = DrawPageDialog.getChild("btncolor")
        btncolor.executeAction("CLICK",tuple())
        ok = DrawPageDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(ok)

        xStyle = document.StyleFamilies["PageStyles"]["Standard"]

        self.assertEqual(xStyle.FillStyle, SOLID)
        self.assertEqual(xStyle.LeftMargin, 2997)
        self.assertEqual(xStyle.RightMargin, 2743)
        self.assertEqual(xStyle.TopMargin, 2489)
        self.assertEqual(xStyle.BottomMargin, 2235)
        self.assertEqual(xStyle.BackgroundFullSize, True)

        # uncheck it
        self.ui_test.execute_dialog_through_command(".uno:PageDialog")
        DrawPageDialog = self.xUITest.getTopFocusWindow()
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "1")
        checkBackgroundFullSize = DrawPageDialog.getChild("checkBackgroundFullSize")
        self.assertEqual(get_state_as_dict(checkBackgroundFullSize)["Selected"], "true")
        checkBackgroundFullSize.executeAction("CLICK",tuple())
        ok = DrawPageDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(ok)

        self.assertEqual(xStyle.FillStyle, SOLID)
        self.assertEqual(xStyle.LeftMargin, 2997)
        self.assertEqual(xStyle.RightMargin, 2743)
        self.assertEqual(xStyle.TopMargin, 2489)
        self.assertEqual(xStyle.BottomMargin, 2235)
        self.assertEqual(xStyle.BackgroundFullSize, False)

        # check it again
        self.ui_test.execute_dialog_through_command(".uno:PageDialog")
        DrawPageDialog = self.xUITest.getTopFocusWindow()
        xTabs = DrawPageDialog.getChild("tabcontrol")
        select_pos(xTabs, "1")
        checkBackgroundFullSize = DrawPageDialog.getChild("checkBackgroundFullSize")
        self.assertEqual(get_state_as_dict(checkBackgroundFullSize)["Selected"], "false")
        checkBackgroundFullSize.executeAction("CLICK",tuple())
        ok = DrawPageDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(ok)

        self.assertEqual(xStyle.FillStyle, SOLID)
        self.assertEqual(xStyle.LeftMargin, 2997)
        self.assertEqual(xStyle.RightMargin, 2743)
        self.assertEqual(xStyle.TopMargin, 2489)
        self.assertEqual(xStyle.BottomMargin, 2235)
        self.assertEqual(xStyle.BackgroundFullSize, True)

        self.ui_test.close_doc()

# vim: set shiftwidth=4 softtabstop=4 expandtab: