Exemplo n.º 1
0
    def test_tdf39022_replace_regexp(self):
        writer_doc = self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        type_text(xWriterEdit, "test number1 testnot")

        self.ui_test.execute_modeless_dialog_through_command(".uno:SearchDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        searchterm = xDialog.getChild("searchterm")
        searchterm.executeAction("TYPE", mkPropertyValues({"TEXT":"T(est|other)\>"}))   #find
        replaceterm = xDialog.getChild("replaceterm")
        replaceterm.executeAction("TYPE", mkPropertyValues({"TEXT":"replaced$1"})) #replace
        regexp = xDialog.getChild("regexp")
        regexp.executeAction("CLICK", tuple())   #regular expressions
        replaceall = xDialog.getChild("replaceall")
        replaceall.executeAction("CLICK", tuple())
        #verify
        self.assertEqual(document.Text.String[0:27], "replacedest number1 testnot")
        regexp.executeAction("CLICK", tuple())

        xcloseBtn = xDialog.getChild("close")
        self.ui_test.close_dialog_through_button(xcloseBtn)

        self.ui_test.close_doc()
Exemplo n.º 2
0
    def test_word_count_interpunction_counted_tdf56975(self):

        self.ui_test.create_doc_in_start_center("writer")
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        document = self.ui_test.get_component()
        #Open writer, enter "Testing one two! Test?"
        type_text(xWriterEdit, "Testing one two! Test?")
        #-> LO says: 4 words. SUCCESS! :)
        self.ui_test.execute_modeless_dialog_through_command(".uno:WordCountDialog")
        xDialog = self.xUITest.getTopFocusWindow()

        xselectwords = xDialog.getChild("selectwords")
        xdocwords = xDialog.getChild("docwords")
        xselectchars = xDialog.getChild("selectchars")
        xdocchars = xDialog.getChild("docchars")
        xselectcharsnospaces = xDialog.getChild("selectcharsnospaces")
        xdoccharsnospaces = xDialog.getChild("doccharsnospaces")
        xselectcjkchars = xDialog.getChild("selectcjkchars")
        xdoccjkchars = xDialog.getChild("doccjkchars")

        self.assertEqual(get_state_as_dict(xselectwords)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocwords)["Text"], "4")
        self.assertEqual(get_state_as_dict(xselectchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocchars)["Text"], "22")
        self.assertEqual(get_state_as_dict(xselectcharsnospaces)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccharsnospaces)["Text"], "19")
        self.assertEqual(get_state_as_dict(xselectcjkchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccjkchars)["Text"], "0")
        xCloseBtn = xDialog.getChild("close")
        self.ui_test.close_dialog_through_button(xCloseBtn)

        self.ui_test.close_doc()
Exemplo n.º 3
0
    def test_bookmark_dialog_goto(self):
        self.ui_test.create_doc_in_start_center("writer")
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        self.ui_test.execute_dialog_through_command(".uno:InsertBookmark")
        xBookDlg = self.xUITest.getTopFocusWindow()
        xInsertBtn = xBookDlg.getChild("insert")
        xInsertBtn.executeAction("CLICK", tuple()) # first bookmark


        type_text(xWriterEdit, "Test for bookmark")
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "Test2 for bookmark")


        self.ui_test.execute_dialog_through_command(".uno:InsertBookmark")
        xBookDlg = self.xUITest.getTopFocusWindow()
        xInsertBtn = xBookDlg.getChild("insert")
        xInsertBtn.executeAction("CLICK", tuple()) # second bookmark

        self.ui_test.execute_dialog_through_command(".uno:InsertBookmark")
        xBookDlg = self.xUITest.getTopFocusWindow()
        xBmk = xBookDlg.getChild("bookmarks")
        xFirstListEntry = xBmk.getChild("0") #  select first bookmark
        xFirstListEntry.executeAction("SELECT", tuple())
        xGoToBtn = xBookDlg.getChild("goto")
        xGoToBtn.executeAction("CLICK", tuple()) # goto 1st bookmark
        xCloseBtn = xBookDlg.getChild("close")
        self.ui_test.close_dialog_through_button(xCloseBtn)


        self.ui_test.close_doc()
Exemplo n.º 4
0
   def test_sort_numerical(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "1;2;3")
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "2;8;3")

        selection = self.xUITest.executeCommand(".uno:SelectAll")  #select whole text
        #Tools - Sort
        self.ui_test.execute_dialog_through_command(".uno:SortDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xDown = xDialog.getChild("down1")
        xcolsb1 = xDialog.getChild("colsb1")
        xtypelb1 = xDialog.getChild("typelb1")
        xcharacter = xDialog.getChild("character")
        xseparator = xDialog.getChild("separator")
        xDown.executeAction("CLICK", tuple())
        props = {"TEXT": "Numerical"}
        actionProps = mkPropertyValues(props)
        xtypelb1.executeAction("SELECT", actionProps)
        xcharacter.executeAction("CLICK", tuple())
        xseparator.executeAction("TYPE", mkPropertyValues({"TEXT":";"}))
        xOK = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOK)
        #check
        self.assertEqual(document.Text.String[0:5], "2;8;3")

        self.ui_test.close_doc()
# vim: set shiftwidth=4 softtabstop=4 expandtab:
Exemplo n.º 5
0
    def test_tracked_changes_zprev_next(self):

        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        self.xUITest.executeCommand(".uno:TrackChanges")
        type_text(xWriterEdit, "Test LibreOffice")
        self.xUITest.executeCommand(".uno:TrackChanges")
        type_text(xWriterEdit, " Test2")
        self.xUITest.executeCommand(".uno:TrackChanges")
        type_text(xWriterEdit, " Test3")
        self.xUITest.executeCommand(".uno:TrackChanges")
        type_text(xWriterEdit, " Test4")
        self.xUITest.executeCommand(".uno:TrackChanges")
        type_text(xWriterEdit, " Test5")
        self.xUITest.executeCommand(".uno:PreviousTrackedChange")
        self.xUITest.executeCommand(".uno:RejectTrackedChange")
        self.assertEqual(document.Text.String[0:37], "Test LibreOffice Test2 Test3 Test4")

        self.xUITest.executeCommand(".uno:PreviousTrackedChange")
        self.xUITest.executeCommand(".uno:PreviousTrackedChange")
        self.xUITest.executeCommand(".uno:AcceptTrackedChange")
        self.assertEqual(document.Text.String[0:37], "Test LibreOffice Test2 Test3 Test4")

        self.xUITest.executeCommand(".uno:NextTrackedChange")
        self.xUITest.executeCommand(".uno:RejectTrackedChange")
        self.assertEqual(document.Text.String[0:30], "Test LibreOffice Test2 Test4")

        self.ui_test.close_doc()
Exemplo n.º 6
0
    def test_word_count_dialog(self):

        self.ui_test.create_doc_in_start_center("writer")
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        document = self.ui_test.get_component()

        type_text(xWriterEdit, "Test for word count dialog") #type text
        xWriterEdit.executeAction("SELECT", mkPropertyValues({"START_POS": "0", "END_POS": "8"})) #select two words

        self.ui_test.execute_modeless_dialog_through_command(".uno:WordCountDialog")
        xDialog = self.xUITest.getTopFocusWindow()

        xselectwords = xDialog.getChild("selectwords")
        xdocwords = xDialog.getChild("docwords")
        xselectchars = xDialog.getChild("selectchars")
        xdocchars = xDialog.getChild("docchars")
        xselectcharsnospaces = xDialog.getChild("selectcharsnospaces")
        xdoccharsnospaces = xDialog.getChild("doccharsnospaces")
        xselectcjkchars = xDialog.getChild("selectcjkchars")
        xdoccjkchars = xDialog.getChild("doccjkchars")

        self.assertEqual(get_state_as_dict(xselectwords)["Text"], "2")
        self.assertEqual(get_state_as_dict(xdocwords)["Text"], "5")
        self.assertEqual(get_state_as_dict(xselectchars)["Text"], "8")
        self.assertEqual(get_state_as_dict(xdocchars)["Text"], "26")
        self.assertEqual(get_state_as_dict(xselectcharsnospaces)["Text"], "7")
        self.assertEqual(get_state_as_dict(xdoccharsnospaces)["Text"], "22")
        self.assertEqual(get_state_as_dict(xselectcjkchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccjkchars)["Text"], "0")
        xCloseBtn = xDialog.getChild("close")
        self.ui_test.close_dialog_through_button(xCloseBtn)

        self.ui_test.close_doc()
Exemplo n.º 7
0
   def test_tdf122722_format_character_hidden(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        #1. Start LibreOffice
        #2. Create New Writer Document
        #3. Type "LibreOffice" in Writer
        type_text(xWriterEdit, "LibreOffice")
        #4. Select "LibreOffice" with mouse, and right click
        self.xUITest.executeCommand(".uno:SelectAll")
        self.assertEqual(document.Text.String[0:11], "LibreOffice")
        #5. Appear Context Menu, Character -> Character
        #6. Opened Character, Select "Font Effect" tab
        #7. Check Hidden, and click [OK]
        #8. Crash a LibreOffice
        self.ui_test.execute_dialog_through_command(".uno:FontDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xTabs = xDialog.getChild("tabcontrol")
        select_pos(xTabs, "1")

        xEffects = xDialog.getChild("effectslb")
        xRelief = xDialog.getChild("relieflb")
        xBlinking = xDialog.getChild("blinkingcb")
        xHidden = xDialog.getChild("hiddencb")
        xOverline = xDialog.getChild("overlinelb")
        xStrikeout = xDialog.getChild("strikeoutlb")
        xUnderline = xDialog.getChild("underlinelb")
        xEmphasis = xDialog.getChild("emphasislb")
        xPosition = xDialog.getChild("positionlb")

        xHidden.executeAction("CLICK", tuple())

        xOK = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOK)
        #un-hidden
        self.ui_test.execute_dialog_through_command(".uno:FontDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xTabs = xDialog.getChild("tabcontrol")
        select_pos(xTabs, "1")

        xEffects = xDialog.getChild("effectslb")
        xRelief = xDialog.getChild("relieflb")
        xBlinking = xDialog.getChild("blinkingcb")
        xHidden = xDialog.getChild("hiddencb")
        xOverline = xDialog.getChild("overlinelb")
        xStrikeout = xDialog.getChild("strikeoutlb")
        xUnderline = xDialog.getChild("underlinelb")
        xEmphasis = xDialog.getChild("emphasislb")
        xPosition = xDialog.getChild("positionlb")

        self.assertEqual(get_state_as_dict(xHidden)["Selected"], "true")
        xHidden.executeAction("CLICK", tuple())

        xOK = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOK)

        self.assertEqual(document.Text.String[0:11], "LibreOffice")

        self.ui_test.close_doc()
Exemplo n.º 8
0
    def test_text_to_table(self):
        writer_doc = self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        #Enter A;B ; select the text ; dialog Text to table - Semicolon; verify
        type_text(xWriterEdit, "A;B;C")
        xWriterEdit.executeAction("SELECT", mkPropertyValues({"START_POS": "0", "END_POS": "5"}))
        self.ui_test.execute_dialog_through_command(".uno:ConvertTextToTable")
        xDialog = self.xUITest.getTopFocusWindow()
        semicolons = xDialog.getChild("semicolons")
        semicolons.executeAction("CLICK", tuple())
        xOKBtn = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOKBtn)
        #verify
        self.assertEqual(document.TextTables.getCount(), 1)
        tables = document.getTextTables()
        self.assertEqual(len(tables[0].getRows()), 1)
        self.assertEqual(len(tables[0].getColumns()), 3)
        #undo
        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(document.TextTables.getCount(), 0)
        self.assertEqual(document.Text.String[0:5], "A;B;C")

        self.ui_test.close_doc()
Exemplo n.º 9
0
   def test_tsd123446_undo_redo_ToC_crash(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        #- Add a word to an empty document.
        type_text(xWriterEdit, "LibreOffice")
        #- Change its style to Heading 2.
        self.xUITest.executeCommand(".uno:StyleApply?Style:string=Heading%202&FamilyName:string=ParagraphStyles")
        #- Position cursor somewhere in the middle of the word, and add Table of Contents
        #(no need to change anything in the dialog).
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")

        self.ui_test.execute_dialog_through_command(".uno:InsertMultiIndex")
        xDialog = self.xUITest.getTopFocusWindow()
        xokbtn = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xokbtn)
        #- Undo the ToC insertion.
        self.xUITest.executeCommand(".uno:Undo")
        #- Redo the ToC insertion.
        self.xUITest.executeCommand(".uno:Redo")
        #=> Crash.  Now we verify the text
        # This second undo crash in Clang build https://bugs.documentfoundation.org/show_bug.cgi?id=123313#c9
        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(document.Text.String[0:7], "LibreOf")

        self.ui_test.close_doc()
    def test_insert_horizontal_line(self):
        self.ui_test.create_doc_in_start_center("writer")
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "Test horizontal line")     #write the text

        self.xUITest.executeCommand(".uno:StyleApply?Style:string=Horizontal%20Line&FamilyName:string=ParagraphStyles") #insert horizontal line

        self.ui_test.execute_dialog_through_command(".uno:EditStyle")  #open style dialog
        xDialog = self.xUITest.getTopFocusWindow()
        xStyleNametxt = xDialog.getChild("namerw")
        self.assertEqual(get_state_as_dict(xStyleNametxt)["Text"], "Horizontal Line") #check style name
        xCancBtn = xDialog.getChild("cancel")
        self.ui_test.close_dialog_through_button(xCancBtn)

        self.xUITest.executeCommand(".uno:Undo")
        self.xUITest.executeCommand(".uno:Redo")

        self.ui_test.execute_dialog_through_command(".uno:EditStyle")  #open style dialog
        xDialog = self.xUITest.getTopFocusWindow()
        xStyleNametxt = xDialog.getChild("namerw")
        self.assertEqual(get_state_as_dict(xStyleNametxt)["Text"], "Horizontal Line")  #check style name
        xCancBtn = xDialog.getChild("cancel")
        self.ui_test.close_dialog_through_button(xCancBtn)

        self.ui_test.close_doc()
Exemplo n.º 11
0
    def test_math_edit(self):
        self.ui_test.create_doc_in_start_center("math")

        xMathDoc = self.xUITest.getTopFocusWindow()

        xMathEdit = xMathDoc.getChild("math_edit")

        type_text(xMathEdit, "E=mc^2")

        self.ui_test.close_doc()
Exemplo n.º 12
0
    def test_type_text(self):

        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "This is my first writer text written through the UI testing")

        self.ui_test.close_doc()
Exemplo n.º 13
0
    def test_select_text(self):

        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "This is my first writer text written through the UI testing")

        xWriterEdit.executeAction("SELECT", mkPropertyValues({"START_POS": "0", "END_POS": "4"}))

        self.ui_test.close_doc()
Exemplo n.º 14
0
    def test_text_color_change(self):

        self.ui_test.create_doc_in_start_center("writer")

        self.xUITest.executeCommandWithParameters(
            ".uno:Color", mkPropertyValues({"Color": 16776960}))
        xWriterEdit = self.xUITest.getTopFocusWindow().getChild("writer_edit")
        type_text(xWriterEdit, "Libreoffice")

        self.ui_test.close_doc()


# vim: set shiftwidth=4 softtabstop=4 expandtab:
Exemplo n.º 15
0
    def test_tdf132169(self):

        writer_doc = self.ui_test.load_file(get_url_for_data_file("shape.odt"))

        #set measurement to points
        self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog")
        xDialogOpt = self.xUITest.getTopFocusWindow()
        xPages = xDialogOpt.getChild("pages")
        xWriterEntry = xPages.getChild('3')
        xWriterEntry.executeAction("EXPAND", tuple())
        xWriterGeneralEntry = xWriterEntry.getChild('0')
        xWriterGeneralEntry.executeAction("SELECT", tuple())
        xMetric = xDialogOpt.getChild("metric")
        props = {"TEXT": "Point"}
        actionProps = mkPropertyValues(props)
        xMetric.executeAction("SELECT", actionProps)
        xOKBtn = xDialogOpt.getChild("ok")
        self.ui_test.close_dialog_through_button(xOKBtn)

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        self.xUITest.executeCommand(".uno:JumpToNextFrame")

        #wait until the toolbar is available
        self.ui_test.wait_until_child_is_available(xWriterEdit, 'metricfield')
        xLineMetric = xWriterEdit.getChild('metricfield')
        self.assertEqual(get_state_as_dict(xLineMetric)["Text"], "0.0 pt")

        #Check changing value from dialog also works
        self.ui_test.execute_dialog_through_command(".uno:FormatLine")
        xFormatLineDlg = self.xUITest.getTopFocusWindow()
        xWidth = xFormatLineDlg.getChild('MTR_FLD_LINE_WIDTH')
        type_text(xWidth, "4.0")
        xOKBtn = xFormatLineDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOKBtn)

        self.ui_test.wait_until_property_is_updated(xLineMetric, "Text",
                                                    "4.0 pt")
        self.assertEqual(get_state_as_dict(xLineMetric)["Text"], "4.0 pt")

        xLineMetric.executeAction("UP", tuple())

        document = self.ui_test.get_component()
        drawPage = document.getDrawPages().getByIndex(0)
        shape = drawPage.getByIndex(0)

        #Without the fix in place, it would have been 310
        self.assertEqual(shape.LineWidth, 176)

        self.ui_test.close_doc()
Exemplo n.º 16
0
    def test_input_window(self):

        self.ui_test.create_doc_in_start_center("calc")

        xCalcDoc = self.xUITest.getTopFocusWindow()
        document = self.ui_test.get_component()

        xInputWin = xCalcDoc.getChild("sc_input_window")

        type_text(xInputWin, "test")
        xInputWin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        self.assertEqual(get_cell_by_position(document, 0, 0, 0).getString(), "test")

        self.ui_test.close_doc()
Exemplo n.º 17
0
    def test_tdf138822(self):
        self.ui_test.create_doc_in_start_center("calc")

        calcDoc = self.xUITest.getTopFocusWindow()
        xPosWindow = calcDoc.getChild('pos_window')
        self.assertEqual('A1', get_state_as_dict(xPosWindow)['Text'])

        self.ui_test.execute_modeless_dialog_through_command(".uno:DefineName")

        xManageNamesDialog = self.xUITest.getTopFocusWindow()

        xAddBtn = xManageNamesDialog.getChild("add")
        self.ui_test.close_dialog_through_button(xAddBtn)

        xDefineNamesDialog = self.xUITest.getTopFocusWindow()

        xAddBtn = xDefineNamesDialog.getChild("add")
        self.assertEqual("false", get_state_as_dict(xAddBtn)['Enabled'])

        xEdit = xDefineNamesDialog.getChild("edit")
        type_text(xEdit, "rangeName")

        self.assertEqual("true", get_state_as_dict(xAddBtn)['Enabled'])

        self.ui_test.close_dialog_through_button(xAddBtn)

        xManageNamesDialog = self.xUITest.getTopFocusWindow()

        xNamesList = xManageNamesDialog.getChild('names')
        self.assertEqual(1, len(xNamesList.getChildren()))
        self.assertEqual(get_state_as_dict(xNamesList.getChild('0'))["Text"], "rangeName\t$Sheet1.$A$1\tDocument (Global)")

        xCancelBtn = xManageNamesDialog.getChild("cancel")
        self.ui_test.close_dialog_through_button(xCancelBtn)

        # Open the dialog again
        self.ui_test.execute_modeless_dialog_through_command(".uno:DefineName")

        xManageNamesDialog = self.xUITest.getTopFocusWindow()
        xNamesList = xManageNamesDialog.getChild('names')

        # Without the fix in place, this test would have failed with
        # AssertionError: 0 != 1
        self.assertEqual(0, len(xNamesList.getChildren()))

        xOkBtn = xManageNamesDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        self.ui_test.close_doc()
Exemplo n.º 18
0
    def test_type_text(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")
        xAddNameDlg = self.xUITest.getTopFocusWindow()

        xEdit = xAddNameDlg.getChild("edit")

        type_text(xEdit, "simpleRangeName")

        xAddBtn = xAddNameDlg.getChild("cancel")
        self.ui_test.close_dialog_through_button(xAddBtn)

        self.ui_test.close_doc()
Exemplo n.º 19
0
    def test_create_range_name(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")

        xAddNameDlg = self.xUITest.getTopFocusWindow()

        xEdit = xAddNameDlg.getChild("edit")
        type_text(xEdit, "simpleRangeName")

        xAddBtn = xAddNameDlg.getChild("add")
        xAddBtn.executeAction("CLICK", tuple())

        self.ui_test.close_doc()
Exemplo n.º 20
0
    def test_type_text(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")
        xAddNameDlg = self.xUITest.getTopFocusWindow()

        xEdit = xAddNameDlg.getChild("edit")

        type_text(xEdit, "simpleRangeName")

        xAddBtn = xAddNameDlg.getChild("cancel")
        self.ui_test.close_dialog_through_button(xAddBtn)

        self.ui_test.close_doc()
Exemplo n.º 21
0
    def test_tdf140117(self):
        # load the sample file
        self.ui_test.load_file(get_url_for_data_file("tdf140117.fodt"))
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        document = self.ui_test.get_component()

        for i in range(3):
            xWriterEdit.executeAction("GOTO", mkPropertyValues({"PAGE": "2"}))

            self.xUITest.executeCommand(".uno:JumpToHeader")

            xPageSytle = document.getStyleFamilies().getByIndex(2)
            xHeaderText = xPageSytle.getByIndex(0).HeaderText.String
            xHeaderFirstText = xPageSytle.getByIndex(0).HeaderTextFirst.String
            xHeaderLeftText = xPageSytle.getByIndex(0).HeaderTextLeft.String
            xHeaderRightText = xPageSytle.getByIndex(0).HeaderTextRight.String

            # Option "same content on left and right pages" is false,
            # insert text "XXXX" before actual header text "left" on page 2
            if i == 0:
                type_text(xWriterEdit, "XXXX")

            # Option "same content on left and right pages" is true,
            # header of page 2 contains the same text as page 1
            elif i == 1:
                self.assertEqual("right", xHeaderText)
                self.assertEqual("right", xHeaderRightText)

            # Option "same content on left and right pages" is false again.
            # This was "right" instead of keeping the header content disabled
            # temporarily for the second interaction of the loop.
            elif i == 2:
                self.assertEqual("XXXXleft", xHeaderLeftText)

            self.ui_test.execute_dialog_through_command(".uno:PageDialog")
            PageDialog = self.xUITest.getTopFocusWindow()

            xTabs = PageDialog.getChild("tabcontrol")
            select_pos(xTabs, "4")

            # Change option "same content on left and right pages" for the next iteration
            Button = xTabs.getChild('checkSameLR')
            Button.executeAction("CLICK", tuple())
            ok = PageDialog.getChild("ok")
            self.ui_test.close_dialog_through_button(ok)

        self.ui_test.close_doc()
Exemplo n.º 22
0
    def test_input_window(self):

        self.ui_test.create_doc_in_start_center("calc")

        xCalcDoc = self.xUITest.getTopFocusWindow()
        document = self.ui_test.get_component()

        xInputWin = xCalcDoc.getChild("sc_input_window")

        type_text(xInputWin, "test")
        xInputWin.executeAction("TYPE", mkPropertyValues({"KEYCODE":
                                                          "RETURN"}))
        self.assertEqual(
            get_cell_by_position(document, 0, 0, 0).getString(), "test")

        self.ui_test.close_doc()
Exemplo n.º 23
0
        def handle_add_dlg(
                dialog):  #handle add target dialog - need special handling
            xNewNameTxt = dialog.getChild("name")
            xNewContentTxt = dialog.getChild("content")
            xOKBtn = dialog.getChild("close")
            xTypeList = dialog.getChild(
                "type")  #0: Text, 1: Regex, 2: Predefined

            select_pos(xTypeList, 0)  #Text
            self.assertEqual(
                int(get_state_as_dict(xTypeList)["SelectEntryPos"]), 0)

            type_text(xNewNameTxt, targets_list[self.add_target_counter][0])
            type_text(xNewContentTxt, targets_list[self.add_target_counter][1])

            self.ui_test.close_dialog_through_button(xOKBtn)
Exemplo n.º 24
0
    def test_insert_qr_code_gen(self):
        calc_doc = self.ui_test.create_doc_in_start_center("calc")
        xCalcDoc = self.xUITest.getTopFocusWindow()
        gridwin = xCalcDoc.getChild("grid_window")
        document = self.ui_test.get_component()

        # cancel the dialog without doing anything
        self.ui_test.execute_dialog_through_command(".uno:InsertQrCode")
        xDialog = self.xUITest.getTopFocusWindow()

        xURL = xDialog.getChild("edit_text")
        type_text(xURL, "www.libreoffice.org")

        xCloseBtn = xDialog.getChild("cancel")
        self.ui_test.close_dialog_through_button(xCloseBtn)
        with self.assertRaises(IndexOutOfBoundsException):
            document.Sheets.getByIndex(0).DrawPage.getByIndex(0)

        # Reopen the dialog box
        self.ui_test.execute_dialog_through_command(".uno:InsertQrCode")
        xDialog = self.xUITest.getTopFocusWindow()

        # Get elements in the Dialog Box
        xURL = xDialog.getChild("edit_text")
        xECC_Low = xDialog.getChild(
            "button_low")  #How radio button input is written in text.
        xBorder = xDialog.getChild("edit_margin")

        type_text(xURL, "www.libreoffice.org")  #set the QR code
        xECC_Low.executeAction("CLICK", tuple())
        xBorder.executeAction("UP", tuple())
        xBorder.executeAction("DOWN", tuple())
        xOKBtn = xDialog.getChild("ok")
        xOKBtn.executeAction("CLICK", tuple())

        # check the QR code in the document
        self.assertEqual(
            document.Sheets.getByIndex(0).DrawPage.getByIndex(
                0).QRCodeProperties.Payload, "www.libreoffice.org")
        self.assertEqual(
            document.Sheets.getByIndex(0).DrawPage.getByIndex(
                0).QRCodeProperties.ErrorCorrection, 1)
        self.assertEqual(
            document.Sheets.getByIndex(0).DrawPage.getByIndex(
                0).QRCodeProperties.Border, 1)

        self.ui_test.close_doc()
Exemplo n.º 25
0
    def test_text(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_dialog_through_command(".uno:FormatCellDialog")
        xCellsDlg = self.xUITest.getTopFocusWindow()

        xDecimalPlaces = xCellsDlg.getChild("leadzerosed")
        type_text(xDecimalPlaces, "4")

        decimal_places_state = get_state_as_dict(xDecimalPlaces)
        assert (decimal_places_state["Text"] == "41")

        okBtn = xCellsDlg.getChild("ok")
        okBtn.executeAction("CLICK", tuple())

        self.ui_test.close_doc()
Exemplo n.º 26
0
    def test_comment_trackchanges(self):
        #tdf111524
        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "foo")

        document = self.ui_test.get_component()

        selection = self.xUITest.executeCommand(".uno:SelectAll")
        self.xUITest.executeCommand(".uno:InsertAnnotation")
        self.xUITest.executeCommand(".uno:TrackChanges")
        self.xUITest.executeCommand(".uno:DeleteAllNotes")

        self.ui_test.close_doc()
Exemplo n.º 27
0
    def test_tdf78068_format_paragraph_crash(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        #- add some text
        type_text(xWriterEdit, "Test")
        #- go to Format > Paragraph
        self.ui_test.execute_dialog_through_command(".uno:ParagraphDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xTabs = xDialog.getChild("tabcontrol")
        select_pos(xTabs, "0")
        xOK = xDialog.getChild("ok")
        xOK.executeAction("CLICK", tuple())  #close dialog

        self.assertEqual(document.Text.String[0:4], "Test")
        self.ui_test.close_doc()
Exemplo n.º 28
0
    def test_text(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_dialog_through_command(".uno:FormatCellDialog")
        xCellsDlg = self.xUITest.getTopFocusWindow()
        
        xDecimalPlaces = xCellsDlg.getChild("leadzerosed")
        type_text(xDecimalPlaces, "4")

        decimal_places_state = get_state_as_dict(xDecimalPlaces)
        assert(decimal_places_state["Text"] == "41")

        okBtn = xCellsDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(okBtn)

        self.ui_test.close_doc()
Exemplo n.º 29
0
    def test_invalid_names(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")

        xAddNameDlg = self.xUITest.getTopFocusWindow()

        invalid_names = ["A1", "12", "1.2", "A1:B2", "test.a", \
                "test+", "test-", "test*", "test!abc", "test#", \
                "test^", "test°", "test$", "test§", "test%", \
                "test&", "test/", "test(", "test)", "test[", "test]", \
                "test\\", "test`", "test´", "test'", "test~", "test<", \
                "tst>", "test|", "test:t", "test;z"]

        xLabel = xAddNameDlg.getChild("label")
        xAddBtn = xAddNameDlg.getChild("add")
        xEdit = xAddNameDlg.getChild("edit")

        success_text = get_state_as_dict(xLabel)["Text"]

        for name in invalid_names:
            with self.subTest(name=name):
                select_all(xEdit)
                type_text(xEdit, name)

                # tdf#132869 - Without the fix in place, this test would have failed with
                # - Expected: "Invalid name. Start with a letter, use only letters, numbers and underscore."
                # - Actual  : ""
                self.assertNotEqual(success_text,
                                    get_state_as_dict(xEdit)["QuickHelpText"])
                self.assertEqual(
                    get_state_as_dict(xAddBtn)["Enabled"], "false")

        select_all(xEdit)
        type_text(xEdit, "valid_name")

        self.assertEqual(success_text, get_state_as_dict(xLabel)["Text"])
        self.assertEqual(success_text,
                         get_state_as_dict(xEdit)["QuickHelpText"])
        self.assertEqual(get_state_as_dict(xAddBtn)["Enabled"], "true")

        self.ui_test.close_dialog_through_button(xAddBtn)

        self.ui_test.close_doc()
Exemplo n.º 30
0
    def test_select_text(self):

        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(
            xWriterEdit,
            "This is my first writer text written through the UI testing")

        xWriterEdit.executeAction(
            "SELECT", mkPropertyValues({
                "START_POS": "0",
                "END_POS": "4"
            }))

        self.ui_test.close_doc()
Exemplo n.º 31
0
    def test_create_local_range_name(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")

        xAddNameDlg = self.xUITest.getTopFocusWindow()

        xEdit = xAddNameDlg.getChild("edit")
        type_text(xEdit, "simpleRangeName")

        xScope = xAddNameDlg.getChild("scope")
        select_pos(xScope, "1")

        xAddBtn = xAddNameDlg.getChild("add")
        self.ui_test.close_dialog_through_button(xAddBtn)

        self.ui_test.close_doc()
Exemplo n.º 32
0
    def test_create_local_range_name(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")

        xAddNameDlg = self.xUITest.getTopFocusWindow()

        xEdit = xAddNameDlg.getChild("edit")
        type_text(xEdit, "simpleRangeName")

        xScope = xAddNameDlg.getChild("scope")
        select_pos(xScope, "1")

        xAddBtn = xAddNameDlg.getChild("add")
        self.ui_test.close_dialog_through_button(xAddBtn)

        self.ui_test.close_doc()
Exemplo n.º 33
0
    def test_tdf91270(self):

        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        type_text(xWriterEdit, "Test")

        self.xUITest.executeCommand(".uno:TrackChanges")

        selection = self.xUITest.executeCommand(".uno:SelectAll")  #select whole text
        self.xUITest.executeCommand(".uno:Cut")   #cut  text

        self.ui_test.execute_modeless_dialog_through_command(".uno:AcceptTrackedChanges")
        xTrackDlg = self.xUITest.getTopFocusWindow()
        xCancBtn = xTrackDlg.getChild("close")
        xCancBtn.executeAction("CLICK", tuple())

        self.ui_test.close_doc()
Exemplo n.º 34
0
    def test_tdf140731(self):
        self.ui_test.create_doc_in_start_center("writer")
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        type_text(xWriterEdit, 'Lorem')
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"F3"}))
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"RETURN"}))

        #generating a big text with ~60k words and several paragraphs
        for i in range(0,8):
            self.xUITest.executeCommand(".uno:SelectAll")
            xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+c"}))
            xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+v"}))
            xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+v"}))
        xWriterEdit.executeAction("GOTO", mkPropertyValues({"PAGE": "1"}))

        #Format->Text operations on small selections (which would generate <~500 redlines), changetracking still working
        self.xUITest.executeCommand(".uno:TrackChanges")
        xWriterEdit.executeAction("SELECT", mkPropertyValues({"START_POS": "1", "END_POS": "1000"}))
        self.xUITest.executeCommand(".uno:ChangeCaseToTitleCase")
        document = self.ui_test.get_component()
        self.assertTrue(document.Redlines.createEnumeration().hasMoreElements())

        #Removing all the redlines.
        self.ui_test.execute_modeless_dialog_through_command(".uno:AcceptTrackedChanges")
        xTrackDlg = self.xUITest.getTopFocusWindow()
        xAccBtn = xTrackDlg.getChild("rejectall")
        xAccBtn.executeAction("CLICK", tuple())
        xCancBtn = xTrackDlg.getChild("close")
        xCancBtn.executeAction("CLICK", tuple())

        #Without the fix in place, on big selections writer would freeze. Now it ignores change tracking.
        self.xUITest.executeCommand(".uno:SelectAll")
        self.xUITest.executeCommand(".uno:ChangeCaseToTitleCase")
        self.assertFalse(document.Redlines.createEnumeration().hasMoreElements())

        #The patch has no effects on the Format->Text operations
        self.assertEqual(document.Text.String[0:26], "Lorem Ipsum Dolor Sit Amet")
        self.xUITest.executeCommand(".uno:SelectAll")
        self.xUITest.executeCommand(".uno:ChangeCaseToUpper")
        self.assertEqual(document.Text.String[0:26], "LOREM IPSUM DOLOR SIT AMET")

        self.ui_test.close_doc()
Exemplo n.º 35
0
   def test_tdf78068_format_paragraph_crash(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        #- add some text
        type_text(xWriterEdit, "Test")
        #- go to Format > Paragraph
        self.ui_test.execute_dialog_through_command(".uno:ParagraphDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xTabs = xDialog.getChild("tabcontrol")
        select_pos(xTabs, "0")
        xOK = xDialog.getChild("ok")
        xOK.executeAction("CLICK", tuple()) #close dialog

        self.assertEqual(document.Text.String[0:4], "Test")
        self.ui_test.close_doc()

# vim: set shiftwidth=4 softtabstop=4 expandtab:
Exemplo n.º 36
0
    def test_comment_trackchanges(self):
#tdf111524
        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "foo")

        document = self.ui_test.get_component()

        selection = self.xUITest.executeCommand(".uno:SelectAll")
        self.xUITest.executeCommand(".uno:InsertAnnotation")
        self.xUITest.executeCommand(".uno:TrackChanges")
        self.xUITest.executeCommand(".uno:DeleteAllNotes")



        self.ui_test.close_doc()
Exemplo n.º 37
0
    def test_comments_delete(self):

        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "Test LibreOffice")

        document = self.ui_test.get_component()

        selection = self.xUITest.executeCommand(".uno:SelectAll")
        self.xUITest.executeCommand(".uno:InsertAnnotation")
        cursor = document.getCurrentController().getViewCursor()
        type_text(xWriterEdit, "EEEEE")
        self.xUITest.executeCommand(".uno:InsertAnnotation")
        self.xUITest.executeCommand(".uno:DeleteAllNotes")
        self.assertEqual(document.Text.String[0:4], "Test")

        self.ui_test.close_doc()
Exemplo n.º 38
0
    def test_tracked_changes_accept(self):

        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        self.xUITest.executeCommand(".uno:TrackChanges")
        type_text(xWriterEdit, "Test LibreOffice")
        self.xUITest.executeCommand(".uno:ShowTrackedChanges")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AcceptTrackedChanges")
        xTrackDlg = self.xUITest.getTopFocusWindow()
        xAccBtn = xTrackDlg.getChild("accept")
        xAccBtn.executeAction("CLICK", tuple())
        xCancBtn = xTrackDlg.getChild("close")
        xCancBtn.executeAction("CLICK", tuple())

        self.assertEqual(document.Text.String[0:16], "Test LibreOffice")
        self.ui_test.close_doc()
Exemplo n.º 39
0
    def test_tdf121591_frame_print_preview(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        self.ui_test.execute_dialog_through_command(
            ".uno:InsertFrame")  #  insert frame
        xDialogFr = self.xUITest.getTopFocusWindow()

        xOkBtn = xDialogFr.getChild("ok")
        xOkBtn.executeAction("CLICK", tuple())

        type_text(xWriterEdit, "Text in the frame")
        #open and close print preview
        self.xUITest.executeCommand(".uno:PrintPreview")  #open print preview
        self.xUITest.executeCommand(".uno:ClosePreview")  # close print preview
        #verify nr. of frames
        self.assertEqual(document.TextFrames.getCount(), 1)

        self.ui_test.close_doc()
Exemplo n.º 40
0
    def test_tracked_changes_accept(self):

        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        self.xUITest.executeCommand(".uno:TrackChanges")
        type_text(xWriterEdit, "Test LibreOffice")
        self.xUITest.executeCommand(".uno:ShowTrackedChanges")

        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:AcceptTrackedChanges")
        xTrackDlg = self.xUITest.getTopFocusWindow()
        xAccBtn = xTrackDlg.getChild("accept")
        xAccBtn.executeAction("CLICK", tuple())
        xCancBtn = xTrackDlg.getChild("close")
        xCancBtn.executeAction("CLICK", tuple())

        self.assertEqual(document.Text.String[0:16], "Test LibreOffice")
        self.ui_test.close_doc()
Exemplo n.º 41
0
    def test_select_text(self):

        self.ui_test.create_doc_in_start_center("calc")

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")
        xAddNameDlg = self.xUITest.getTopFocusWindow()

        xEdit = xAddNameDlg.getChild("edit")

        type_text(xEdit, "simpleRangeName")
        xEdit.executeAction("SELECT", mkPropertyValues({"FROM": "2", "TO": "9"}))
        type_text(xEdit, "otherChars")
        self.assertEqual("siotherCharsgeName", get_state_as_dict(xEdit)["Text"])

        select_text(xEdit, from_pos="2", to="12")
        self.assertEqual("otherChars", get_state_as_dict(xEdit)["SelectedText"])

        xAddBtn = xAddNameDlg.getChild("cancel")
        self.ui_test.close_dialog_through_button(xAddBtn)

        self.ui_test.close_doc()
Exemplo n.º 42
0
    def test_tdf91270(self):

        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        type_text(xWriterEdit, "Test")

        self.xUITest.executeCommand(".uno:TrackChanges")

        selection = self.xUITest.executeCommand(
            ".uno:SelectAll")  #select whole text
        self.xUITest.executeCommand(".uno:Cut")  #cut  text

        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:AcceptTrackedChanges")
        xTrackDlg = self.xUITest.getTopFocusWindow()
        xCancBtn = xTrackDlg.getChild("close")
        xCancBtn.executeAction("CLICK", tuple())

        self.ui_test.close_doc()
Exemplo n.º 43
0
    def test_sort(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "a")
        xWriterEdit.executeAction("TYPE",
                                  mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "c")
        xWriterEdit.executeAction("TYPE",
                                  mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "v")

        selection = self.xUITest.executeCommand(
            ".uno:SelectAll")  #select whole text
        #Tools - Sort
        self.ui_test.execute_dialog_through_command(".uno:SortDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xDown = xDialog.getChild("down1")
        xDown.executeAction("CLICK", tuple())
        xOK = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOK)
        #check
        self.assertEqual(document.Text.String[0:1], "v")

        self.ui_test.close_doc()
Exemplo n.º 44
0
    def test_define_database_range(self):

        self.ui_test.create_doc_in_start_center("calc")

        # Select range A1:D10
        xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
        xGridWin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:D10"}))

        # Execute "Define DB Range dialog"
        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:DefineDBName")

        xDefineNameDlg = self.xUITest.getTopFocusWindow()

        xEntryBox = xDefineNameDlg.getChild("entry")
        type_text(xEntryBox, "my_database")

        xOkBtn = xDefineNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        # Deselect range
        xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))

        # Execute "Select DB Range dialog"
        self.ui_test.execute_dialog_through_command(".uno:SelectDB")
        xSelectNameDlg = self.xUITest.getTopFocusWindow()

        xListBox = xSelectNameDlg.getChild("treeview")
        xListBoxState = get_state_as_dict(xListBox)
        self.assertEqual(xListBoxState["SelectionCount"], "1")
        self.assertEqual(xListBoxState["SelectEntryText"], "my_database")

        xOkBtn = xSelectNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        # Assert that the correct range has been selected
        gridWinState = get_state_as_dict(xGridWin)
        self.assertEqual(gridWinState["MarkedArea"], "Sheet1.A1:Sheet1.D10")

        self.ui_test.close_doc()
Exemplo n.º 45
0
    def test_comments_delete(self):

        self.ui_test.create_doc_in_start_center("writer")

        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        

        type_text(xWriterEdit, "Test LibreOffice")

        document = self.ui_test.get_component()

        selection = self.xUITest.executeCommand(".uno:SelectAll")
        self.xUITest.executeCommand(".uno:InsertAnnotation")
        cursor = document.getCurrentController().getViewCursor()
        xWriterDoc.executeAction("LEFT", tuple())
        type_text(xWriterEdit, "EEEEE")
        self.xUITest.executeCommand(".uno:InsertAnnotation")
        self.xUITest.executeCommand(".uno:DeleteAllNotes")
        self.assertEqual(document.Text.String[0:4], "Test")

        self.ui_test.close_doc()
Exemplo n.º 46
0
    def test_word_count_dialog(self):

        self.ui_test.create_doc_in_start_center("writer")
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        document = self.ui_test.get_component()

        type_text(xWriterEdit, "Test for word count dialog")  #type text
        xWriterEdit.executeAction("SELECT",
                                  mkPropertyValues({
                                      "START_POS": "0",
                                      "END_POS": "8"
                                  }))  #select two words

        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:WordCountDialog")
        xDialog = self.xUITest.getTopFocusWindow()

        xselectwords = xDialog.getChild("selectwords")
        xdocwords = xDialog.getChild("docwords")
        xselectchars = xDialog.getChild("selectchars")
        xdocchars = xDialog.getChild("docchars")
        xselectcharsnospaces = xDialog.getChild("selectcharsnospaces")
        xdoccharsnospaces = xDialog.getChild("doccharsnospaces")
        xselectcjkchars = xDialog.getChild("selectcjkchars")
        xdoccjkchars = xDialog.getChild("doccjkchars")

        self.assertEqual(get_state_as_dict(xselectwords)["Text"], "2")
        self.assertEqual(get_state_as_dict(xdocwords)["Text"], "5")
        self.assertEqual(get_state_as_dict(xselectchars)["Text"], "8")
        self.assertEqual(get_state_as_dict(xdocchars)["Text"], "26")
        self.assertEqual(get_state_as_dict(xselectcharsnospaces)["Text"], "7")
        self.assertEqual(get_state_as_dict(xdoccharsnospaces)["Text"], "22")
        self.assertEqual(get_state_as_dict(xselectcjkchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccjkchars)["Text"], "0")
        xCloseBtn = xDialog.getChild("close")
        self.ui_test.close_dialog_through_button(xCloseBtn)

        self.ui_test.close_doc()
Exemplo n.º 47
0
    def test_create_range_name(self):

        self.ui_test.create_doc_in_start_center("calc")

        calcDoc = self.xUITest.getTopFocusWindow()
        xPosWindow = calcDoc.getChild('pos_window')
        self.assertEqual('A1', get_state_as_dict(xPosWindow)['Text'])

        self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")

        xAddNameDlg = self.xUITest.getTopFocusWindow()

        xEdit = xAddNameDlg.getChild("edit")
        type_text(xEdit, "globalRangeName")

        xAddBtn = xAddNameDlg.getChild("add")
        self.ui_test.close_dialog_through_button(xAddBtn)

        self.assertEqual('globalRangeName',
                         get_state_as_dict(xPosWindow)['Text'])

        self.ui_test.close_doc()
Exemplo n.º 48
0
    def test_define_database_range(self):

        self.ui_test.create_doc_in_start_center("calc")

        # Select range A1:D10
        xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
        xGridWin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:D10"}))

        # Execute "Define DB Range dialog"
        self.ui_test.execute_modeless_dialog_through_command(".uno:DefineDBName")

        xDefineNameDlg = self.xUITest.getTopFocusWindow()

        xEntryBox = xDefineNameDlg.getChild("entry")
        type_text(xEntryBox, "my_database")

        xOkBtn = xDefineNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        # Deselect range
        xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))

        # Execute "Select DB Range dialog"
        self.ui_test.execute_dialog_through_command(".uno:SelectDB")
        xSelectNameDlg = self.xUITest.getTopFocusWindow()

        xListBox = xSelectNameDlg.getChild("treeview")
        xListBoxState = get_state_as_dict(xListBox)
        self.assertEqual(xListBoxState["SelectEntryCount"], "1")
        self.assertEqual(xListBoxState["SelectEntryText"], "my_database")

        xOkBtn = xSelectNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        # Assert that the correct range has been selected
        gridWinState = get_state_as_dict(xGridWin)
        self.assertEqual(gridWinState["MarkedArea"], "Sheet1.A1:Sheet1.D10")

        self.ui_test.close_doc()
Exemplo n.º 49
0
   def test_insert_footnote(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        self.xUITest.executeCommand(".uno:InsertFootnote")

        type_text(xWriterEdit, "LibreOffice")
        self.assertEqual(document.Footnotes.getByIndex(0).String, "LibreOffice")
        self.assertEqual(document.Footnotes.getCount(), 1)

        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(document.Footnotes.getByIndex(0).String, "")
        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(document.Footnotes.getCount(), 0)
        self.xUITest.executeCommand(".uno:Redo")
        self.assertEqual(document.Footnotes.getByIndex(0).String, "")
        self.assertEqual(document.Footnotes.getCount(), 1)
        self.xUITest.executeCommand(".uno:Redo")
        self.assertEqual(document.Footnotes.getByIndex(0).String, "LibreOffice")

        self.ui_test.close_doc()
Exemplo n.º 50
0
   def test_insert_endnote(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        self.xUITest.executeCommand(".uno:InsertEndnote")

        type_text(xWriterEdit, "LibreOffice")

        self.assertEqual(document.Endnotes[0].String, "LibreOffice")
        self.assertEqual(document.Endnotes.getCount(), 1)
        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(document.Endnotes[0].String, "")
        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(document.Endnotes.getCount(), 0)
        self.xUITest.executeCommand(".uno:Redo")
        self.assertEqual(document.Endnotes[0].String, "")
        self.assertEqual(document.Endnotes.getCount(), 1)
        self.xUITest.executeCommand(".uno:Redo")
        self.assertEqual(document.Endnotes[0].String, "LibreOffice")

        self.ui_test.close_doc()
Exemplo n.º 51
0
   def test_tdf119954_second_db_range(self):
        calc_doc = self.ui_test.load_file(get_url_for_data_file("tdf119954.ods"))
        xCalcDoc = self.xUITest.getTopFocusWindow()
        gridwin = xCalcDoc.getChild("grid_window")
        document = self.ui_test.get_component()
        #* new document
        #* in A1 enter 1
        #* in C3 enter 2
        #* on A1 define a database range 'aaa' with $Sheet1.$A$1
        #* on C3 define a database range 'bbb' with $Sheet2.$C$3
        #* in any cell enter formula =bbb
        #  => result is 1 instead of 2
        #* place cell cursor on that formula cell again
        #  => see that the formula is =aaa instead of =bbb

        gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
        self.ui_test.execute_modeless_dialog_through_command(".uno:DefineDBName")
        xDefineNameDlg = self.xUITest.getTopFocusWindow()

        xEntryBox = xDefineNameDlg.getChild("entry")
        type_text(xEntryBox, "aaa")
        add = xDefineNameDlg.getChild("add")
        assign = xDefineNameDlg.getChild("assign")
        add.executeAction("CLICK", tuple())
        xOkBtn = xDefineNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
        self.ui_test.execute_modeless_dialog_through_command(".uno:DefineDBName")
        xDefineNameDlg = self.xUITest.getTopFocusWindow()
        xEntryBox = xDefineNameDlg.getChild("entry")
        assign = xDefineNameDlg.getChild("assign")
        select_all(xEntryBox)
        type_text(xEntryBox, "bbb")
        select_all(assign)
        type_text(assign, "$Sheet2.$C$3")
        add.executeAction("CLICK", tuple())

        xOkBtn = xDefineNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        enter_text_to_cell(gridwin, "B2", "=bbb")
        gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        self.assertEqual(get_cell_by_position(document, 0, 1, 1).getValue(), 2)

        enter_text_to_cell(gridwin, "C2", "=aaa")
        gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        self.assertEqual(get_cell_by_position(document, 0, 2, 1).getValue(), 1)

        self.xUITest.executeCommand(".uno:Undo")
        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(get_cell_by_position(document, 0, 2, 1).getValue(), 0)
        self.assertEqual(get_cell_by_position(document, 0, 1, 1).getValue(), 0)
        self.assertEqual(get_cell_by_position(document, 0, 1, 2).getFormula(), "")
        self.assertEqual(get_cell_by_position(document, 0, 1, 1).getFormula(), "")

        self.ui_test.close_doc()
Exemplo n.º 52
0
Arquivo: start.py Projeto: mrkara/core
    def test_complete_math(self):
        self.ui_test.create_doc_in_start_center("math")

        xMathDoc = self.xUITest.getTopFocusWindow()

        xList = xMathDoc.getChild("listbox")
        state = get_state_as_dict(xList)
        self.assertEqual(state["SelectEntryText"], "Unary/Binary Operators")
        select_pos(xList, "1")

        xMathSelector = xMathDoc.getChild("element_selector")

        xElement = xMathSelector.getChild("1")
        xElement.executeAction("SELECT", tuple())

        xMathEdit = xMathDoc.getChild("math_edit")
        type_text(xMathEdit, "1")
        xMathEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"F4"}))
        type_text(xMathEdit, "2")

        edit_state = get_state_as_dict(xMathEdit)
        self.assertEqual("1 <> 2 ", edit_state["Text"])

        self.ui_test.close_doc()
Exemplo n.º 53
0
    def test_sort_numerical(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "1;2;3")
        xWriterEdit.executeAction("TYPE",
                                  mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "2;8;3")

        selection = self.xUITest.executeCommand(
            ".uno:SelectAll")  #select whole text
        #Tools - Sort
        self.ui_test.execute_dialog_through_command(".uno:SortDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xDown = xDialog.getChild("down1")
        xcolsb1 = xDialog.getChild("colsb1")
        xtypelb1 = xDialog.getChild("typelb1")
        xcharacter = xDialog.getChild("character")
        xseparator = xDialog.getChild("separator")
        xDown.executeAction("CLICK", tuple())
        props = {"TEXT": "Numerical"}
        actionProps = mkPropertyValues(props)
        xtypelb1.executeAction("SELECT", actionProps)
        xcharacter.executeAction("CLICK", tuple())
        xseparator.executeAction("TYPE", mkPropertyValues({"TEXT": ";"}))
        xOK = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOK)
        #check
        self.assertEqual(document.Text.String[0:5], "2;8;3")

        self.ui_test.close_doc()


# vim: set shiftwidth=4 softtabstop=4 expandtab:
Exemplo n.º 54
0
    def test_complete_math(self):
        self.ui_test.create_doc_in_start_center("math")

        xMathDoc = self.xUITest.getTopFocusWindow()

        xList = xMathDoc.getChild("listbox")
        state = get_state_as_dict(xList)
        self.assertEqual(state["SelectEntryText"], "Unary/Binary Operators")
        select_pos(xList, "1")

        xMathSelector = xMathDoc.getChild("element_selector")

        xElement = xMathSelector.getChild("1")
        xElement.executeAction("SELECT", tuple())

        xMathEdit = xMathDoc.getChild("math_edit")
        type_text(xMathEdit, "1")
        xMathEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"F4"}))
        type_text(xMathEdit, "2")

        edit_state = get_state_as_dict(xMathEdit)
        self.assertEqual("1 <> 2 ", edit_state["Text"])

        self.ui_test.close_doc()
Exemplo n.º 55
0
   def test_tdf121591_frame_print_preview(self):
        # FIXME unstable test
        return
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        self.ui_test.execute_dialog_through_command(".uno:InsertFrame")   #  insert frame
        xDialogFr = self.xUITest.getTopFocusWindow()

        xOkBtn=xDialogFr.getChild("ok")
        xOkBtn.executeAction("CLICK", tuple())

        type_text(xWriterEdit, "Text in the frame")
        #open and close print preview
        self.xUITest.executeCommand(".uno:PrintPreview")  #open print preview
        self.xUITest.executeCommand(".uno:ClosePreview")  # close print preview

        self.xUITest.getTopFocusWindow() #Get focus after closing preview

        #verify nr. of frames
        self.assertEqual(document.TextFrames.getCount(), 1)

        self.ui_test.close_doc()
Exemplo n.º 56
0
   def test_tdf115088(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "1")
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "1")

        selection = self.xUITest.executeCommand(".uno:SelectAll")  #select whole text
        self.xUITest.executeCommand(".uno:Cut")   #cut  text
        type_text(xWriterEdit, "test")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:PasteUnformatted")
        self.assertEqual(document.Text.String[0:2].replace('\r', '\n'), "1\n")

        self.ui_test.close_doc()
Exemplo n.º 57
0
   def test_tdf115088(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "1")
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "1")

        selection = self.xUITest.executeCommand(".uno:SelectAll")  #select whole text
        self.xUITest.executeCommand(".uno:Cut")   #cut  text
        type_text(xWriterEdit, "test")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:GoLeft")
        self.xUITest.executeCommand(".uno:PasteUnformatted")
        self.assertEqual(document.Text.String[0:2], "1\n")

        self.ui_test.close_doc()
Exemplo n.º 58
0
   def test_sort(self):
        self.ui_test.create_doc_in_start_center("writer")
        document = self.ui_test.get_component()
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")

        type_text(xWriterEdit, "a")
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "c")
        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        type_text(xWriterEdit, "v")

        selection = self.xUITest.executeCommand(".uno:SelectAll")  #select whole text
        #Tools - Sort
        self.ui_test.execute_dialog_through_command(".uno:SortDialog")
        xDialog = self.xUITest.getTopFocusWindow()
        xDown = xDialog.getChild("down1")
        xDown.executeAction("CLICK", tuple())
        xOK = xDialog.getChild("ok")
        self.ui_test.close_dialog_through_button(xOK)
        #check
        self.assertEqual(document.Text.String[0:1], "v")

        self.ui_test.close_doc()
Exemplo n.º 59
0
    def test_word_count_interpunction_counted_tdf56975_b(self):

        self.ui_test.create_doc_in_start_center("writer")
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        document = self.ui_test.get_component()
        #1. Create a new text document.
        #2. Type-in the words:
        #     This is a test sentence.
        type_text(xWriterEdit, "This is a test sentence.")
        #3. Open the word count dialogue.
        #   Word count in both, dialogue and status line, shows 5 words.
        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:WordCountDialog")
        xDialog = self.xUITest.getTopFocusWindow()

        xselectwords = xDialog.getChild("selectwords")
        xdocwords = xDialog.getChild("docwords")
        xselectchars = xDialog.getChild("selectchars")
        xdocchars = xDialog.getChild("docchars")
        xselectcharsnospaces = xDialog.getChild("selectcharsnospaces")
        xdoccharsnospaces = xDialog.getChild("doccharsnospaces")
        xselectcjkchars = xDialog.getChild("selectcjkchars")
        xdoccjkchars = xDialog.getChild("doccjkchars")

        self.assertEqual(get_state_as_dict(xselectwords)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocwords)["Text"], "5")
        self.assertEqual(get_state_as_dict(xselectchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocchars)["Text"], "24")
        self.assertEqual(get_state_as_dict(xselectcharsnospaces)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccharsnospaces)["Text"], "20")
        self.assertEqual(get_state_as_dict(xselectcjkchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccjkchars)["Text"], "0")
        xCloseBtn = xDialog.getChild("close")
        self.ui_test.close_dialog_through_button(xCloseBtn)
        #4. Select the space between 'a' and 'test'.
        xWriterEdit.executeAction(
            "SELECT", mkPropertyValues({
                "START_POS": "9",
                "END_POS": "10"
            }))
        #5. Replace selection by a non-breaking space by pressing Shift+Ctrl+Space.  Don't move the cursor.
        self.xUITest.executeCommand(".uno:InsertNonBreakingSpace")
        #   Word count in dialogue shows 4 words, whereas in the status line it shows 5 words.
        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:WordCountDialog")
        xDialog = self.xUITest.getTopFocusWindow()

        xselectwords = xDialog.getChild("selectwords")
        xdocwords = xDialog.getChild("docwords")
        xselectchars = xDialog.getChild("selectchars")
        xdocchars = xDialog.getChild("docchars")
        xselectcharsnospaces = xDialog.getChild("selectcharsnospaces")
        xdoccharsnospaces = xDialog.getChild("doccharsnospaces")
        xselectcjkchars = xDialog.getChild("selectcjkchars")
        xdoccjkchars = xDialog.getChild("doccjkchars")

        self.assertEqual(get_state_as_dict(xselectwords)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocwords)["Text"], "5")
        self.assertEqual(get_state_as_dict(xselectchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocchars)["Text"], "24")
        self.assertEqual(get_state_as_dict(xselectcharsnospaces)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccharsnospaces)["Text"], "20")
        self.assertEqual(get_state_as_dict(xselectcjkchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccjkchars)["Text"], "0")
        xCloseBtn = xDialog.getChild("close")
        self.ui_test.close_dialog_through_button(xCloseBtn)
        #6. Move the cursor by pressing Left.
        self.xUITest.executeCommand(".uno:GoLeft")
        #   Word count in both, dialogue and status line, shows 5 words.
        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:WordCountDialog")
        xDialog = self.xUITest.getTopFocusWindow()

        xselectwords = xDialog.getChild("selectwords")
        xdocwords = xDialog.getChild("docwords")
        xselectchars = xDialog.getChild("selectchars")
        xdocchars = xDialog.getChild("docchars")
        xselectcharsnospaces = xDialog.getChild("selectcharsnospaces")
        xdoccharsnospaces = xDialog.getChild("doccharsnospaces")
        xselectcjkchars = xDialog.getChild("selectcjkchars")
        xdoccjkchars = xDialog.getChild("doccjkchars")

        self.assertEqual(get_state_as_dict(xselectwords)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocwords)["Text"], "5")
        self.assertEqual(get_state_as_dict(xselectchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdocchars)["Text"], "24")
        self.assertEqual(get_state_as_dict(xselectcharsnospaces)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccharsnospaces)["Text"], "20")
        self.assertEqual(get_state_as_dict(xselectcjkchars)["Text"], "0")
        self.assertEqual(get_state_as_dict(xdoccjkchars)["Text"], "0")
        xCloseBtn = xDialog.getChild("close")
        self.ui_test.close_dialog_through_button(xCloseBtn)
        self.ui_test.close_doc()
Exemplo n.º 60
0
    def test_tdf119954_second_db_range(self):
        calc_doc = self.ui_test.load_file(
            get_url_for_data_file("tdf119954.ods"))
        xCalcDoc = self.xUITest.getTopFocusWindow()
        gridwin = xCalcDoc.getChild("grid_window")
        document = self.ui_test.get_component()
        #* new document
        #* in A1 enter 1
        #* in C3 enter 2
        #* on A1 define a database range 'aaa' with $Sheet1.$A$1
        #* on C3 define a database range 'bbb' with $Sheet2.$C$3
        #* in any cell enter formula =bbb
        #  => result is 1 instead of 2
        #* place cell cursor on that formula cell again
        #  => see that the formula is =aaa instead of =bbb

        gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:DefineDBName")
        xDefineNameDlg = self.xUITest.getTopFocusWindow()

        xEntryBox = xDefineNameDlg.getChild("entry")
        type_text(xEntryBox, "aaa")
        add = xDefineNameDlg.getChild("add")
        assign = xDefineNameDlg.getChild("assign")
        add.executeAction("CLICK", tuple())
        xOkBtn = xDefineNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:DefineDBName")
        xDefineNameDlg = self.xUITest.getTopFocusWindow()
        xEntryBox = xDefineNameDlg.getChild("entry")
        assign = xDefineNameDlg.getChild("assign")
        select_all(xEntryBox)
        type_text(xEntryBox, "bbb")
        select_all(assign)
        type_text(assign, "$Sheet2.$C$3")
        add.executeAction("CLICK", tuple())

        xOkBtn = xDefineNameDlg.getChild("ok")
        self.ui_test.close_dialog_through_button(xOkBtn)

        enter_text_to_cell(gridwin, "B2", "=bbb")
        gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        self.assertEqual(get_cell_by_position(document, 0, 1, 1).getValue(), 2)

        enter_text_to_cell(gridwin, "C2", "=aaa")
        gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
        self.assertEqual(get_cell_by_position(document, 0, 2, 1).getValue(), 1)

        self.xUITest.executeCommand(".uno:Undo")
        self.xUITest.executeCommand(".uno:Undo")
        self.assertEqual(get_cell_by_position(document, 0, 2, 1).getValue(), 0)
        self.assertEqual(get_cell_by_position(document, 0, 1, 1).getValue(), 0)
        self.assertEqual(
            get_cell_by_position(document, 0, 1, 2).getFormula(), "")
        self.assertEqual(
            get_cell_by_position(document, 0, 1, 1).getFormula(), "")

        # check cancel button
        self.ui_test.execute_modeless_dialog_through_command(
            ".uno:DefineDBName")
        xDefineNameDlg = self.xUITest.getTopFocusWindow()
        xCancelBtn = xDefineNameDlg.getChild("cancel")
        self.ui_test.close_dialog_through_button(xCancelBtn)

        self.ui_test.close_doc()