sw/qa/extras/uiwriter/data2/tdf64242_optimizeTable.odt |binary sw/qa/extras/uiwriter/uiwriter2.cxx | 44 +++++++++++++++++ 2 files changed, 44 insertions(+)
New commits: commit 0e9d621c471bdf486fb535b068fe841b56e2e8c6 Author: Justin Luth <justin.l...@collabora.com> AuthorDate: Mon Dec 31 14:20:15 2018 +0300 Commit: Justin Luth <justin_l...@sil.org> CommitDate: Mon Dec 31 15:23:31 2018 +0100 tdf#64242 unit test added TableColumns must be much different from rows, because I couldn't get the properties/width of those, and even MRI just threw a VOID message when trying to getByIndex. So I couldn't do any specific column-width tests, just table-width. Similarly, I couldn't do simple table-height tests. Change-Id: I4c1deaf6a4f6beb7325467ac9940f4328cfc1d44 Reviewed-on: https://gerrit.libreoffice.org/65768 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_l...@sil.org> diff --git a/sw/qa/extras/uiwriter/data2/tdf64242_optimizeTable.odt b/sw/qa/extras/uiwriter/data2/tdf64242_optimizeTable.odt new file mode 100644 index 000000000000..83d9be2cdf16 Binary files /dev/null and b/sw/qa/extras/uiwriter/data2/tdf64242_optimizeTable.odt differ diff --git a/sw/qa/extras/uiwriter/uiwriter2.cxx b/sw/qa/extras/uiwriter/uiwriter2.cxx index 67aa3b7d7145..233b50ebe3dc 100644 --- a/sw/qa/extras/uiwriter/uiwriter2.cxx +++ b/sw/qa/extras/uiwriter/uiwriter2.cxx @@ -37,6 +37,7 @@ public: void testTdf47471_paraStyleBackground(); void testTdf101534(); void testTdf54819(); + void testTdf64242_optimizeTable(); void testTdf108687_tabstop(); void testTdf119571(); void testTdf119019(); @@ -49,6 +50,7 @@ public: CPPUNIT_TEST(testTdf47471_paraStyleBackground); CPPUNIT_TEST(testTdf101534); CPPUNIT_TEST(testTdf54819); + CPPUNIT_TEST(testTdf64242_optimizeTable); CPPUNIT_TEST(testTdf108687_tabstop); CPPUNIT_TEST(testTdf119571); CPPUNIT_TEST(testTdf119019); @@ -277,6 +279,48 @@ void SwUiWriterTest2::testTdf54819() getProperty<OUString>(getParagraph(1), "ParaStyleName")); } +void SwUiWriterTest2::testTdf64242_optimizeTable() +{ + SwDoc* pDoc = createDoc("tdf64242_optimizeTable.odt"); + SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell(); + + uno::Reference<text::XTextTablesSupplier> xTablesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xTables(xTablesSupplier->getTextTables(), + uno::UNO_QUERY); + uno::Reference<text::XTextTable> xTextTable(xTables->getByIndex(0), uno::UNO_QUERY); + uno::Reference<table::XTableRows> xTableRows(xTextTable->getRows(), uno::UNO_QUERY); + + double origWidth = getProperty<double>(xTextTable, "Width"); + sal_Int32 nToleranceW = origWidth * .01; + CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE("Table Width", double(17013), origWidth, nToleranceW); + + pWrtShell->SelTable(); //select the whole table + + lcl_dispatchCommand(mxComponent, ".uno:SetOptimalColumnWidth", {}); + CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE("Table Width: optimize", origWidth, + getProperty<double>(xTextTable, "Width"), nToleranceW); + + lcl_dispatchCommand(mxComponent, ".uno:SetMinimalColumnWidth", {}); + CPPUNIT_ASSERT_MESSAGE("Table Width: minimized", + (origWidth - nToleranceW) > getProperty<double>(xTextTable, "Width")); + + double origRowHeight = getProperty<double>(xTableRows->getByIndex(2), "Height"); + sal_Int32 nToleranceH = origRowHeight * .01; + CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE("Row Height", double(3441), origRowHeight, nToleranceH); + + lcl_dispatchCommand(mxComponent, ".uno:SetOptimalRowHeight", {}); + double optimalRowHeight = getProperty<double>(xTableRows->getByIndex(2), "Height"); + CPPUNIT_ASSERT_MESSAGE("Row Height: optimized", + (origRowHeight - nToleranceH) > optimalRowHeight); + + lcl_dispatchCommand(mxComponent, ".uno:SetMinimalRowHeight", {}); + double minimalRowHeight = getProperty<double>(xTableRows->getByIndex(2), "Height"); + CPPUNIT_ASSERT_MESSAGE("Row Height: minimized", + (optimalRowHeight - nToleranceH) > minimalRowHeight); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Row set to auto-height", double(0), minimalRowHeight); +} + void SwUiWriterTest2::testTdf108687_tabstop() { SwDoc* pDoc = createDoc("tdf108687_tabstop.odt"); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits