diff options
author | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-06-10 18:19:30 +0200 |
---|---|---|
committer | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-06-10 19:08:59 +0200 |
commit | 98dd0f2bb5801f974374ef341037e094e4275cbb (patch) | |
tree | 19e73cb8aa3ca60d0bba99c283abde9830b89f8a /sd/qa | |
parent | 75ebb553bf6523e9548e4826bbbb2f12d2cbd3dc (diff) |
Related bnc#862510: extend handling of txXfrm
We don't actually need to check mbAnchorCtr to change
text spacing. This txXfrm workaround works only with rectangles,
because other shapes' text area can be smaller then the shape
size. So add some condition to avoid using it for
other shapes.
Plus fix typos cause regression introduced in:
53c376d35b7223d53e8c9403390afe53d1f69089
Change-Id: I87917b8e0b2bb97ae1bba773e7dda7f81682736f
Diffstat (limited to 'sd/qa')
-rw-r--r-- | sd/qa/unit/data/pptx/bnc862510_5.pptx | bin | 0 -> 63675 bytes | |||
-rw-r--r-- | sd/qa/unit/data/pptx/n862510_3.pptx | bin | 56463 -> 0 bytes | |||
-rw-r--r-- | sd/qa/unit/import-tests.cxx | 44 |
3 files changed, 23 insertions, 21 deletions
diff --git a/sd/qa/unit/data/pptx/bnc862510_5.pptx b/sd/qa/unit/data/pptx/bnc862510_5.pptx Binary files differnew file mode 100644 index 000000000000..ed145e4cfc2c --- /dev/null +++ b/sd/qa/unit/data/pptx/bnc862510_5.pptx diff --git a/sd/qa/unit/data/pptx/n862510_3.pptx b/sd/qa/unit/data/pptx/n862510_3.pptx Binary files differdeleted file mode 100644 index cf0b7b5efa60..000000000000 --- a/sd/qa/unit/data/pptx/n862510_3.pptx +++ /dev/null diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 1c36673ae932..cc9339acda69 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -70,7 +70,6 @@ public: void testStrictOOXML(); void testN862510_1(); void testN862510_2(); - void testN862510_3(); void testN862510_4(); void testFdo71961(); void testMediaEmbedding(); @@ -78,6 +77,7 @@ public: void testBnc870233_1(); void testBnc870233_2(); void testBnc880763(); + void testBnc862510_5(); CPPUNIT_TEST_SUITE(SdFiltersTest); CPPUNIT_TEST(testDocumentLayout); @@ -98,7 +98,6 @@ public: CPPUNIT_TEST(testStrictOOXML); CPPUNIT_TEST(testN862510_1); CPPUNIT_TEST(testN862510_2); - CPPUNIT_TEST(testN862510_3); CPPUNIT_TEST(testN862510_4); CPPUNIT_TEST(testFdo71961); CPPUNIT_TEST(testMediaEmbedding); @@ -106,6 +105,7 @@ public: CPPUNIT_TEST(testBnc870233_1); CPPUNIT_TEST(testBnc870233_2); CPPUNIT_TEST(testBnc880763); + CPPUNIT_TEST(testBnc862510_5); CPPUNIT_TEST_SUITE_END(); }; @@ -305,25 +305,6 @@ void SdFiltersTest::testN862510_2() xDocShRef->DoClose(); } -void SdFiltersTest::testN862510_3() -{ - ::sd::DrawDocShellRef xDocShRef = loadURL( getURLFromSrc("/sd/qa/unit/data/pptx/n862510_3.pptx") ); - - SdDrawDocument *pDoc = xDocShRef->GetDoc(); - CPPUNIT_ASSERT_MESSAGE( "no document", pDoc != NULL ); - const SdrPage *pPage = pDoc->GetPage( 1 ); - CPPUNIT_ASSERT_MESSAGE( "no page", pPage != NULL ); - { - SdrObjGroup *pGrpObj = dynamic_cast<SdrObjGroup *>( pPage->GetObj( 0 ) ); - CPPUNIT_ASSERT( pGrpObj ); - SdrObjCustomShape *pObj = dynamic_cast<SdrObjCustomShape *>( pGrpObj->GetSubList()->GetObj( 0 ) ); - CPPUNIT_ASSERT( pObj ); - CPPUNIT_ASSERT_MESSAGE( "Left Spacing is wrong! check attribute anchorCtr", pObj->GetTextLeftDistance() < 30); - } - - xDocShRef->DoClose(); -} - void SdFiltersTest::testN862510_4() { ::sd::DrawDocShellRef xDocShRef = loadURL( getURLFromSrc("/sd/qa/unit/data/pptx/n862510_4.pptx") ); @@ -927,6 +908,27 @@ void SdFiltersTest::testBnc880763() xDocShRef->DoClose(); } +void SdFiltersTest::testBnc862510_5() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/bnc862510_5.pptx")); + xDocShRef = saveAndReload( xDocShRef, PPTX ); + + SdDrawDocument *pDoc = xDocShRef->GetDoc(); + CPPUNIT_ASSERT_MESSAGE( "no document", pDoc != NULL ); + const SdrPage *pPage = pDoc->GetPage (1); + CPPUNIT_ASSERT_MESSAGE( "no page", pPage != NULL ); + + // Same as testBnc870237, but here we check the horizontal spacing + const SdrObject* pObj = dynamic_cast<SdrObject*>( pPage->GetObj( 1 ) ); + CPPUNIT_ASSERT_MESSAGE( "no object", pObj != NULL); + CPPUNIT_ASSERT_EQUAL( sal_Int32(0), (static_cast< const SdrTextUpperDistItem& >(pObj->GetMergedItem(SDRATTR_TEXT_UPPERDIST))).GetValue()); + CPPUNIT_ASSERT_EQUAL( sal_Int32(0), (static_cast< const SdrTextLowerDistItem& >(pObj->GetMergedItem(SDRATTR_TEXT_LOWERDIST))).GetValue()); + CPPUNIT_ASSERT_EQUAL( sal_Int32(7510), (static_cast< const SdrTextRightDistItem& >(pObj->GetMergedItem(SDRATTR_TEXT_RIGHTDIST))).GetValue()); + CPPUNIT_ASSERT_EQUAL( sal_Int32(0), (static_cast< const SdrTextLeftDistItem& >(pObj->GetMergedItem(SDRATTR_TEXT_LEFTDIST))).GetValue()); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdFiltersTest); CPPUNIT_PLUGIN_IMPLEMENT(); |