summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2020-05-07 16:47:36 -0400
committerHenry Castro <hcastro@collabora.com>2020-05-11 05:34:04 +0200
commit2f4ea95149702a46852b320f828d8462eb3666ba (patch)
tree6e6d670820440a618d9db190cd18c7a6e5751772 /desktop
parenta406b4fc8296f125eb8e69da889ac2d119c2faaa (diff)
lok: unit test for metric field or formatted field control
Change-Id: I0a3efef85ff889c4214ab326d1de96a4acd207a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93689 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
Diffstat (limited to 'desktop')
-rw-r--r--desktop/qa/desktop_lib/test_desktop_lib.cxx34
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)