summaryrefslogtreecommitdiff
path: root/sw/qa/uitest/writer_tests5/titlePageWizard.py
diff options
context:
space:
mode:
Diffstat (limited to 'sw/qa/uitest/writer_tests5/titlePageWizard.py')
-rw-r--r--sw/qa/uitest/writer_tests5/titlePageWizard.py392
1 files changed, 195 insertions, 197 deletions
diff --git a/sw/qa/uitest/writer_tests5/titlePageWizard.py b/sw/qa/uitest/writer_tests5/titlePageWizard.py
index bc5f275e8cfa..a69658ec9260 100644
--- a/sw/qa/uitest/writer_tests5/titlePageWizard.py
+++ b/sw/qa/uitest/writer_tests5/titlePageWizard.py
@@ -13,202 +13,200 @@ from uitest.uihelper.common import get_url_for_data_file
# and inserting at the very end of the document.
class tdf138907(UITestCase):
def test_tdf138907(self):
- self.ui_test.load_file(get_url_for_data_file("tdf138907_titlePageDialog.odt"))
- document = self.ui_test.get_component()
-
- # Confirm the starting state. Just a page break, without a valid restart page number on page 2
- self.assertEqual(document.CurrentController.PageCount, 5)
- Paragraphs = document.Text.createEnumeration()
- Para1 = Paragraphs.nextElement()
- self.assertEqual(Para1.String, "6")
- self.assertEqual(Para1.PageDescName, "First Page")
- Para2 = Paragraphs.nextElement()
- self.assertEqual(Para2.String, "7")
- self.assertEqual(Para2.PageDescName, None)
- Para3 = Paragraphs.nextElement()
- self.assertEqual(Para3.String, "8")
- self.assertEqual(Para3.PageDescName, None)
- Para4 = Paragraphs.nextElement()
- self.assertEqual(Para4.String, "9")
- self.assertEqual(Para4.PageDescName, None)
- Para5 = Paragraphs.nextElement()
- self.assertEqual(Para5.String, "10")
- self.assertEqual(Para5.PageDescName, None)
-
-
- #dialog Title Page
- self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
- xDialog = self.xUITest.getTopFocusWindow()
- #set restart page number to 2. With this doc, it defaults to resetting to 1.
- xRestartNumbering = xDialog.getChild("NF_RESTART_NUMBERING")
- xRestartNumbering.executeAction("UP", tuple()) # restart numbering at 2
- xOKBtn = xDialog.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
-
- Paragraphs = document.Text.createEnumeration()
- Para1 = Paragraphs.nextElement()
- self.assertEqual(Para1.String, "6")
- self.assertEqual(Para1.PageDescName, "First Page")
- self.assertEqual(Para2.String, "2")
- Para2 = Paragraphs.nextElement()
- # Without this fix, there was no PageDescName specified, just Landscape as default.
- self.assertEqual(Para2.PageDescName, "Landscape")
-
- #re-run dialog Title Page
- self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
- xDialog = self.xUITest.getTopFocusWindow()
- #accept defaults and OK without making any changes.
- xOKBtn = xDialog.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
-
- # Without this fix, re-running the wizard was failing with the title page restarting at page 2.
- Paragraphs = document.Text.createEnumeration()
- Para1 = Paragraphs.nextElement()
- self.assertEqual(Para1.String, "6")
- self.assertEqual(Para1.PageDescName, "First Page")
- Para2 = Paragraphs.nextElement()
- self.assertEqual(Para2.String, "2")
- self.assertEqual(Para2.PageDescName, "Landscape")
-
- #Note: 6 virtual pages, including blank, even page seen in book view
- self.assertEqual(document.CurrentController.PageCount, 6)
-
- #Now test replacing several pages with title and index styles
-
- #dialog Title Page
- self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
- xDialog = self.xUITest.getTopFocusWindow()
- print(xDialog.getChildren())
- #Convert three pages to title/index pages starting at page two.
- xPageCount = xDialog.getChild("NF_PAGE_COUNT")
- for _ in range(0,2):
- xPageCount.executeAction("UP", tuple())
- xUseStartingPage = xDialog.getChild("RB_PAGE_START")
- xUseStartingPage.executeAction("CLICK", tuple())
- xStartingPage = xDialog.getChild("NF_PAGE_START")
- xStartingPage.executeAction("UP", tuple()) #Start at page 2.
-
- xOKBtn = xDialog.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
-
- Paragraphs = document.Text.createEnumeration()
- Para1 = Paragraphs.nextElement()
- self.assertEqual(Para1.String, "6")
- self.assertEqual(Para1.PageDescName, "First Page")
- # Without the fix, the following results are all off by one.
- Para2 = Paragraphs.nextElement()
- self.assertEqual(Para2.String, "6")
- self.assertEqual(Para2.PageDescName, "First Page")
- Para3 = Paragraphs.nextElement()
- self.assertEqual(Para3.String, "7")
- self.assertEqual(Para3.PageDescName, "Index")
- Para4 = Paragraphs.nextElement()
- self.assertEqual(Para4.String, "8")
- self.assertEqual(Para4.PageDescName, "Index")
- Para5 = Paragraphs.nextElement()
- self.assertEqual(Para5.String, "2")
- self.assertEqual(Para5.PageDescName, "Landscape")
-
- #Now test inserting at the end of the document
-
- #dialog Title Page
- self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
- xDialog = self.xUITest.getTopFocusWindow()
- print(xDialog.getChildren())
- #Insert three title/index pages at the end of the document (plus a content page).
- newPages = xDialog.getChild("RB_INSERT_NEW_PAGES")
- newPages.executeAction("CLICK", tuple())
- xPageCount = xDialog.getChild("NF_PAGE_COUNT")
- for _ in range(0,2):
- xPageCount.executeAction("UP", tuple())
- xUseStartingPage = xDialog.getChild("RB_PAGE_START")
- xUseStartingPage.executeAction("CLICK", tuple())
- xStartingPage = xDialog.getChild("NF_PAGE_START")
- for _ in range(0,18):
- xStartingPage.executeAction("UP", tuple()) #Start at mythical page 20.
-
- xOKBtn = xDialog.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
-
- # Without the fix, the pages were being inserted before the last page.
- text = document.Text.String.replace('\r\n', '\n')
- self.assertEqual(text[0:1], "6")
- self.assertEqual(text[2:3], "6")
- self.assertEqual(text[4:5], "7")
- self.assertEqual(text[6:7], "8")
- # Without the fix, the new pages were inserted before the last page.
- self.assertFalse("\n" in text[8:9])
- #Note: 13 total virtual pages, including four blanks, as seen in book view
- self.assertEqual(document.CurrentController.PageCount, 13)
-
- #Now test inserting in the middle of the document
-
- #dialog Title Page
- self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
- xDialog = self.xUITest.getTopFocusWindow()
- print(xDialog.getChildren())
- #Insert three title/index pages starting at page 2.
- newPages = xDialog.getChild("RB_INSERT_NEW_PAGES")
- newPages.executeAction("CLICK", tuple())
- xPageCount = xDialog.getChild("NF_PAGE_COUNT")
- for _ in range(0,2):
- xPageCount.executeAction("UP", tuple())
- xUseStartingPage = xDialog.getChild("RB_PAGE_START")
- xUseStartingPage.executeAction("CLICK", tuple())
- xStartingPage = xDialog.getChild("NF_PAGE_START")
- for _ in range(0,10):
- xStartingPage.executeAction("DOWN", tuple()) #Reset to page 1
- xStartingPage.executeAction("UP", tuple()) #Start at page 2.
-
- xOKBtn = xDialog.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
-
- # Without first re-calculating the layout, the styles were applied to the wrong pages.
- Paragraphs = document.Text.createEnumeration()
- Para1 = Paragraphs.nextElement()
- self.assertEqual(Para1.String, "6")
- self.assertEqual(Para1.PageDescName, "First Page")
- # The next three pages are the ones that were just inserted.
- Para2 = Paragraphs.nextElement()
- self.assertEqual(Para2.String, "")
- self.assertEqual(Para2.PageDescName, "First Page")
- Para3 = Paragraphs.nextElement()
- self.assertEqual(Para3.String, "")
- self.assertEqual(Para3.PageDescName, "Index")
- Para4 = Paragraphs.nextElement()
- self.assertEqual(Para4.String, "")
- self.assertEqual(Para4.PageDescName, "Index")
- # A bit of a quirk is that the style of the first page after the
- # title page is still First Page - so that is used as the Normal page style.
- # OK - this is a bit of a strange workflow, so just accept that.
- Para5 = Paragraphs.nextElement()
- self.assertEqual(Para5.String, "6")
- self.assertEqual(Para5.PageDescName, "First Page")
- Para6 = Paragraphs.nextElement()
- self.assertEqual(Para6.String, "7")
- self.assertEqual(Para6.PageDescName, "Index")
- Para7 = Paragraphs.nextElement()
- self.assertEqual(Para7.String, "8")
- self.assertEqual(Para7.PageDescName, "Index")
- Para8 = Paragraphs.nextElement()
- self.assertEqual(Para8.String, "2")
- self.assertEqual(Para8.PageDescName, "Landscape")
- Para9 = Paragraphs.nextElement()
- self.assertEqual(Para9.String, "")
- self.assertEqual(Para9.PageDescName, "First Page")
- Para10 = Paragraphs.nextElement()
- self.assertEqual(Para10.String, "")
- self.assertEqual(Para10.PageDescName, "Index")
- Para11 = Paragraphs.nextElement()
- self.assertEqual(Para11.String, "")
- self.assertEqual(Para11.PageDescName, "Index")
- # The quirk resets this extra content page to the "style after First page == First Page"
- Para12 = Paragraphs.nextElement()
- self.assertEqual(Para12.String, "")
- self.assertEqual(Para12.PageDescName, "First Page")
- #Note: 17 total virtual pages, including five blanks, as seen in book view
- self.assertEqual(document.CurrentController.PageCount, 17)
-
- self.ui_test.close_doc()
+ with self.ui_test.load_file(get_url_for_data_file("tdf138907_titlePageDialog.odt")):
+ document = self.ui_test.get_component()
+
+ # Confirm the starting state. Just a page break, without a valid restart page number on page 2
+ self.assertEqual(document.CurrentController.PageCount, 5)
+ Paragraphs = document.Text.createEnumeration()
+ Para1 = Paragraphs.nextElement()
+ self.assertEqual(Para1.String, "6")
+ self.assertEqual(Para1.PageDescName, "First Page")
+ Para2 = Paragraphs.nextElement()
+ self.assertEqual(Para2.String, "7")
+ self.assertEqual(Para2.PageDescName, None)
+ Para3 = Paragraphs.nextElement()
+ self.assertEqual(Para3.String, "8")
+ self.assertEqual(Para3.PageDescName, None)
+ Para4 = Paragraphs.nextElement()
+ self.assertEqual(Para4.String, "9")
+ self.assertEqual(Para4.PageDescName, None)
+ Para5 = Paragraphs.nextElement()
+ self.assertEqual(Para5.String, "10")
+ self.assertEqual(Para5.PageDescName, None)
+
+
+ #dialog Title Page
+ self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
+ xDialog = self.xUITest.getTopFocusWindow()
+ #set restart page number to 2. With this doc, it defaults to resetting to 1.
+ xRestartNumbering = xDialog.getChild("NF_RESTART_NUMBERING")
+ xRestartNumbering.executeAction("UP", tuple()) # restart numbering at 2
+ xOKBtn = xDialog.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ Paragraphs = document.Text.createEnumeration()
+ Para1 = Paragraphs.nextElement()
+ self.assertEqual(Para1.String, "6")
+ self.assertEqual(Para1.PageDescName, "First Page")
+ self.assertEqual(Para2.String, "2")
+ Para2 = Paragraphs.nextElement()
+ # Without this fix, there was no PageDescName specified, just Landscape as default.
+ self.assertEqual(Para2.PageDescName, "Landscape")
+
+ #re-run dialog Title Page
+ self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
+ xDialog = self.xUITest.getTopFocusWindow()
+ #accept defaults and OK without making any changes.
+ xOKBtn = xDialog.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ # Without this fix, re-running the wizard was failing with the title page restarting at page 2.
+ Paragraphs = document.Text.createEnumeration()
+ Para1 = Paragraphs.nextElement()
+ self.assertEqual(Para1.String, "6")
+ self.assertEqual(Para1.PageDescName, "First Page")
+ Para2 = Paragraphs.nextElement()
+ self.assertEqual(Para2.String, "2")
+ self.assertEqual(Para2.PageDescName, "Landscape")
+
+ #Note: 6 virtual pages, including blank, even page seen in book view
+ self.assertEqual(document.CurrentController.PageCount, 6)
+
+ #Now test replacing several pages with title and index styles
+
+ #dialog Title Page
+ self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
+ xDialog = self.xUITest.getTopFocusWindow()
+ print(xDialog.getChildren())
+ #Convert three pages to title/index pages starting at page two.
+ xPageCount = xDialog.getChild("NF_PAGE_COUNT")
+ for _ in range(0,2):
+ xPageCount.executeAction("UP", tuple())
+ xUseStartingPage = xDialog.getChild("RB_PAGE_START")
+ xUseStartingPage.executeAction("CLICK", tuple())
+ xStartingPage = xDialog.getChild("NF_PAGE_START")
+ xStartingPage.executeAction("UP", tuple()) #Start at page 2.
+
+ xOKBtn = xDialog.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ Paragraphs = document.Text.createEnumeration()
+ Para1 = Paragraphs.nextElement()
+ self.assertEqual(Para1.String, "6")
+ self.assertEqual(Para1.PageDescName, "First Page")
+ # Without the fix, the following results are all off by one.
+ Para2 = Paragraphs.nextElement()
+ self.assertEqual(Para2.String, "6")
+ self.assertEqual(Para2.PageDescName, "First Page")
+ Para3 = Paragraphs.nextElement()
+ self.assertEqual(Para3.String, "7")
+ self.assertEqual(Para3.PageDescName, "Index")
+ Para4 = Paragraphs.nextElement()
+ self.assertEqual(Para4.String, "8")
+ self.assertEqual(Para4.PageDescName, "Index")
+ Para5 = Paragraphs.nextElement()
+ self.assertEqual(Para5.String, "2")
+ self.assertEqual(Para5.PageDescName, "Landscape")
+
+ #Now test inserting at the end of the document
+
+ #dialog Title Page
+ self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
+ xDialog = self.xUITest.getTopFocusWindow()
+ print(xDialog.getChildren())
+ #Insert three title/index pages at the end of the document (plus a content page).
+ newPages = xDialog.getChild("RB_INSERT_NEW_PAGES")
+ newPages.executeAction("CLICK", tuple())
+ xPageCount = xDialog.getChild("NF_PAGE_COUNT")
+ for _ in range(0,2):
+ xPageCount.executeAction("UP", tuple())
+ xUseStartingPage = xDialog.getChild("RB_PAGE_START")
+ xUseStartingPage.executeAction("CLICK", tuple())
+ xStartingPage = xDialog.getChild("NF_PAGE_START")
+ for _ in range(0,18):
+ xStartingPage.executeAction("UP", tuple()) #Start at mythical page 20.
+
+ xOKBtn = xDialog.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ # Without the fix, the pages were being inserted before the last page.
+ text = document.Text.String.replace('\r\n', '\n')
+ self.assertEqual(text[0:1], "6")
+ self.assertEqual(text[2:3], "6")
+ self.assertEqual(text[4:5], "7")
+ self.assertEqual(text[6:7], "8")
+ # Without the fix, the new pages were inserted before the last page.
+ self.assertFalse("\n" in text[8:9])
+ #Note: 13 total virtual pages, including four blanks, as seen in book view
+ self.assertEqual(document.CurrentController.PageCount, 13)
+
+ #Now test inserting in the middle of the document
+
+ #dialog Title Page
+ self.ui_test.execute_dialog_through_command(".uno:TitlePageDialog")
+ xDialog = self.xUITest.getTopFocusWindow()
+ print(xDialog.getChildren())
+ #Insert three title/index pages starting at page 2.
+ newPages = xDialog.getChild("RB_INSERT_NEW_PAGES")
+ newPages.executeAction("CLICK", tuple())
+ xPageCount = xDialog.getChild("NF_PAGE_COUNT")
+ for _ in range(0,2):
+ xPageCount.executeAction("UP", tuple())
+ xUseStartingPage = xDialog.getChild("RB_PAGE_START")
+ xUseStartingPage.executeAction("CLICK", tuple())
+ xStartingPage = xDialog.getChild("NF_PAGE_START")
+ for _ in range(0,10):
+ xStartingPage.executeAction("DOWN", tuple()) #Reset to page 1
+ xStartingPage.executeAction("UP", tuple()) #Start at page 2.
+
+ xOKBtn = xDialog.getChild("ok")
+ self.ui_test.close_dialog_through_button(xOKBtn)
+
+ # Without first re-calculating the layout, the styles were applied to the wrong pages.
+ Paragraphs = document.Text.createEnumeration()
+ Para1 = Paragraphs.nextElement()
+ self.assertEqual(Para1.String, "6")
+ self.assertEqual(Para1.PageDescName, "First Page")
+ # The next three pages are the ones that were just inserted.
+ Para2 = Paragraphs.nextElement()
+ self.assertEqual(Para2.String, "")
+ self.assertEqual(Para2.PageDescName, "First Page")
+ Para3 = Paragraphs.nextElement()
+ self.assertEqual(Para3.String, "")
+ self.assertEqual(Para3.PageDescName, "Index")
+ Para4 = Paragraphs.nextElement()
+ self.assertEqual(Para4.String, "")
+ self.assertEqual(Para4.PageDescName, "Index")
+ # A bit of a quirk is that the style of the first page after the
+ # title page is still First Page - so that is used as the Normal page style.
+ # OK - this is a bit of a strange workflow, so just accept that.
+ Para5 = Paragraphs.nextElement()
+ self.assertEqual(Para5.String, "6")
+ self.assertEqual(Para5.PageDescName, "First Page")
+ Para6 = Paragraphs.nextElement()
+ self.assertEqual(Para6.String, "7")
+ self.assertEqual(Para6.PageDescName, "Index")
+ Para7 = Paragraphs.nextElement()
+ self.assertEqual(Para7.String, "8")
+ self.assertEqual(Para7.PageDescName, "Index")
+ Para8 = Paragraphs.nextElement()
+ self.assertEqual(Para8.String, "2")
+ self.assertEqual(Para8.PageDescName, "Landscape")
+ Para9 = Paragraphs.nextElement()
+ self.assertEqual(Para9.String, "")
+ self.assertEqual(Para9.PageDescName, "First Page")
+ Para10 = Paragraphs.nextElement()
+ self.assertEqual(Para10.String, "")
+ self.assertEqual(Para10.PageDescName, "Index")
+ Para11 = Paragraphs.nextElement()
+ self.assertEqual(Para11.String, "")
+ self.assertEqual(Para11.PageDescName, "Index")
+ # The quirk resets this extra content page to the "style after First page == First Page"
+ Para12 = Paragraphs.nextElement()
+ self.assertEqual(Para12.String, "")
+ self.assertEqual(Para12.PageDescName, "First Page")
+ #Note: 17 total virtual pages, including five blanks, as seen in book view
+ self.assertEqual(document.CurrentController.PageCount, 17)
# vim: set shiftwidth=4 softtabstop=4 expandtab: