From d778119b867b67241b54fd7a9698c839e9bc00f5 Mon Sep 17 00:00:00 2001 From: Tamás Zolnai Date: Fri, 7 Jul 2017 16:22:47 +0200 Subject: tdf#108925: Too small bullet size confuses the user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a constraint for bullet relative size to avoid too small bullets which are hardly recognizable. Use the same 25% lower limit what MSO uses. Change-Id: Id956ecf3ec831c569188b944be58da03bf30a55e Reviewed-on: https://gerrit.libreoffice.org/39696 Tested-by: Jenkins Reviewed-by: Tamás Zolnai (cherry picked from commit 11652be4071ef6d1d89b2c397aa1a32476e03bf6) Reviewed-on: https://gerrit.libreoffice.org/39707 Reviewed-by: Miklos Vajna --- sd/qa/unit/data/odp/tdf108925.odp | Bin 0 -> 11219 bytes sd/qa/unit/import-tests.cxx | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100755 sd/qa/unit/data/odp/tdf108925.odp (limited to 'sd') diff --git a/sd/qa/unit/data/odp/tdf108925.odp b/sd/qa/unit/data/odp/tdf108925.odp new file mode 100755 index 000000000000..5b6dfc4ca4a2 Binary files /dev/null and b/sd/qa/unit/data/odp/tdf108925.odp differ diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index da02f49c6946..fde285c39ef7 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -160,6 +160,7 @@ public: void testTdf105150PPT(); void testTdf100926(); void testTdf89064(); + void testTdf108925(); bool checkPattern(sd::DrawDocShellRef& rDocRef, int nShapeNumber, std::vector& rExpected); void testPatternImport(); @@ -228,6 +229,7 @@ public: CPPUNIT_TEST(testTdf100926); CPPUNIT_TEST(testPatternImport); CPPUNIT_TEST(testTdf89064); + CPPUNIT_TEST(testTdf108925); CPPUNIT_TEST_SUITE_END(); }; @@ -2196,6 +2198,23 @@ void SdImportTest::testTdf89064() xDocShRef->DoClose(); } +void SdImportTest::testTdf108925() +{ + // Test document contains bulleting with too small bullet size (1%) which breaks the lower constraint + // So it should be converted to the lowest allowed value (25%). + sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/odp/tdf108925.odp"), ODP); + const SdrPage *pPage = GetPage(1, xDocShRef); + SdrTextObj *pTxtObj = dynamic_cast(pPage->GetObj(0)); + CPPUNIT_ASSERT_MESSAGE("No text object", pTxtObj != nullptr); + const EditTextObject& aEdit = pTxtObj->GetOutlinerParaObject()->GetTextObject(); + + const SvxNumBulletItem *pNumFmt = dynamic_cast(aEdit.GetParaAttribs(0).GetItem(EE_PARA_NUMBULLET)); + CPPUNIT_ASSERT(pNumFmt); + CPPUNIT_ASSERT_EQUAL(pNumFmt->GetNumRule()->GetLevel(0).GetBulletRelSize(), sal_uInt16(25)); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest); CPPUNIT_PLUGIN_IMPLEMENT(); -- cgit