1 # -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 from uitest
.framework
import UITestCase
11 from uitest
.uihelper
.calc
import enter_text_to_cell
12 from libreoffice
.uno
.propertyvalue
import mkPropertyValues
13 from libreoffice
.calc
.document
import get_cell_by_position
14 from uitest
.uihelper
.common
import select_by_text
16 class tdf150288(UITestCase
):
18 def change_date_pattern(self
, pattern
):
19 with self
.ui_test
.execute_dialog_through_command(".uno:OptionsTreeDialog") as xDialog
:
20 xPages
= xDialog
.getChild("pages")
21 xLanguageEntry
= xPages
.getChild('2')
22 xLanguageEntry
.executeAction("EXPAND", tuple())
23 xxLanguageEntryGeneralEntry
= xLanguageEntry
.getChild('0')
24 xxLanguageEntryGeneralEntry
.executeAction("SELECT", tuple())
26 xDatePatterns
= xDialog
.getChild("datepatterns")
27 xLocaleSetting
= xDialog
.getChild("localesetting")
29 select_by_text(xLocaleSetting
, "English (USA)")
31 xDatePatterns
.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
32 xDatePatterns
.executeAction("TYPE", mkPropertyValues({"KEYCODE":"BACKSPACE"}))
33 xDatePatterns
.executeAction("TYPE", mkPropertyValues({"TEXT": pattern
}))
35 def test_tdf150288(self
):
36 with self
.ui_test
.create_doc_in_start_center("calc") as document
:
39 self
.change_date_pattern("D/M/Y;D/M")
41 xCalcDoc
= self
.xUITest
.getTopFocusWindow()
42 xGridWin
= xCalcDoc
.getChild("grid_window")
44 enter_text_to_cell(xGridWin
, "A1", "31/8/22")
45 enter_text_to_cell(xGridWin
, "A2", "1/8/22")
47 self
.assertEqual("08/31/22", get_cell_by_position(document
, 0, 0, 0).getString())
49 # Without the fix in place, this test would have failed with
50 # AssertionError: '08/01/22' != '01/08/22'
51 self
.assertEqual("08/01/22", get_cell_by_position(document
, 0, 0, 1).getString())
54 # reset date pattern to default
55 self
.change_date_pattern("M/D/Y;M/D")
57 # vim: set shiftwidth=4 softtabstop=4 expandtab: