diff options
Diffstat (limited to 'desktop/qa/desktop_lib/test_desktop_lib.cxx')
-rw-r--r-- | desktop/qa/desktop_lib/test_desktop_lib.cxx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index 30dd2c60dc3c..9ee4a596ec70 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -24,10 +24,12 @@ #include <vcl/syswin.hxx> #include <vcl/window.hxx> #include <vcl/ctrl.hxx> +#include <vcl/uitest/uiobject.hxx> #include <comphelper/processfactory.hxx> #include <rtl/math.hxx> #include <rtl/uri.hxx> #include <sfx2/app.hxx> +#include <sfx2/childwin.hxx> #include <sfx2/lokhelper.hxx> #include <test/unoapi_test.hxx> #include <comphelper/lok.hxx> @@ -173,6 +175,7 @@ public: void testDialogInput(); void testCalcSaveAs(); void testControlState(); + void testMetricField(); void testABI(); CPPUNIT_TEST_SUITE(DesktopLOKTest); @@ -233,6 +236,7 @@ public: CPPUNIT_TEST(testDialogInput); CPPUNIT_TEST(testCalcSaveAs); CPPUNIT_TEST(testControlState); + CPPUNIT_TEST(testMetricField); CPPUNIT_TEST(testABI); CPPUNIT_TEST_SUITE_END(); @@ -2827,6 +2831,36 @@ void DesktopLOKTest::testControlState() CPPUNIT_ASSERT(!aState.empty()); } +void DesktopLOKTest::testMetricField() +{ + LibLODocument_Impl* pDocument = loadDoc("search.ods"); + pDocument->pClass->postUnoCommand(pDocument, ".uno:StarShapes", nullptr, false); + Scheduler::ProcessEventsToIdle(); + + SfxViewShell* pViewShell = SfxViewShell::Current(); + CPPUNIT_ASSERT(pViewShell); + + SfxViewFrame* pViewFrame = pViewShell->GetViewFrame(); + CPPUNIT_ASSERT(pViewFrame); + + SfxChildWindow* pSideBar = pViewFrame->GetChildWindow(SID_SIDEBAR); + CPPUNIT_ASSERT(pSideBar); + + vcl::Window* pWin = pSideBar->GetWindow(); + CPPUNIT_ASSERT(pWin); + + WindowUIObject aWinUI(pWin); + std::unique_ptr<UIObject> pUIWin(aWinUI.get_child("selectwidth")); + CPPUNIT_ASSERT(pUIWin.get()); + + StringMap aMap; + aMap["VALUE"] = "75.06"; + pUIWin->execute("VALUE", aMap); + + StringMap aRet = pUIWin->get_state(); + CPPUNIT_ASSERT_EQUAL(aMap["VALUE"], aRet["Value"]); +} + namespace { constexpr size_t classOffset(int i) |