diff options
author | Muthu Subramanian <sumuthu@collabora.com> | 2013-12-18 20:01:11 +0530 |
---|---|---|
committer | Muthu Subramanian <sumuthu@collabora.com> | 2013-12-18 20:01:11 +0530 |
commit | 33b59c555755283edbcb3bb50a44db153cb1c23f (patch) | |
tree | 659466a8fc621d13fee5e737cd3b294941ce7a77 /sd/qa | |
parent | 33b796eb1484b9a3fc11a189faddb7fc36509856 (diff) |
n#828390: Add unit test for font properties export.
Diffstat (limited to 'sd/qa')
-rw-r--r-- | sd/qa/unit/data/n828390_4.odp | bin | 0 -> 13928 bytes | |||
-rw-r--r-- | sd/qa/unit/import-tests.cxx | 43 |
2 files changed, 43 insertions, 0 deletions
diff --git a/sd/qa/unit/data/n828390_4.odp b/sd/qa/unit/data/n828390_4.odp Binary files differnew file mode 100644 index 000000000000..888611cc070c --- /dev/null +++ b/sd/qa/unit/data/n828390_4.odp diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 630891ccacd4..31b9e7bd88af 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -16,6 +16,8 @@ #include <editeng/fhgtitem.hxx> #include <editeng/escapementitem.hxx> #include <editeng/colritem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/wghtitem.hxx> #include <rsc/rscsfx.hxx> #include <svx/svdotext.hxx> @@ -51,6 +53,7 @@ public: void testN828390(); void testN828390_2(); void testN828390_3(); + void testN828390_4(); void testFdo68594(); CPPUNIT_TEST_SUITE(SdFiltersTest); @@ -63,6 +66,7 @@ public: CPPUNIT_TEST(testN828390); CPPUNIT_TEST(testN828390_2); CPPUNIT_TEST(testN828390_3); + CPPUNIT_TEST(testN828390_4); CPPUNIT_TEST(testFdo68594); CPPUNIT_TEST_SUITE_END(); @@ -283,6 +287,45 @@ void SdFiltersTest::testN828390_3() CPPUNIT_ASSERT_MESSAGE("CharEscapment not imported properly", bPassed); } +void SdFiltersTest::testN828390_4() +{ + bool bPassed = false; + ::sd::DrawDocShellRef xDocShRef = loadURL( getURLFromSrc("/sd/qa/unit/data/n828390_4.odp") ); + CPPUNIT_ASSERT_MESSAGE( "failed to load", xDocShRef.Is() ); + + xDocShRef = saveAndReload( xDocShRef, PPTX ); + CPPUNIT_ASSERT_MESSAGE( "failed to load", xDocShRef.Is() ); + CPPUNIT_ASSERT_MESSAGE( "not in destruction", !xDocShRef->IsInDestruction() ); + + SdDrawDocument *pDoc = xDocShRef->GetDoc(); + CPPUNIT_ASSERT_MESSAGE( "no document", pDoc != NULL ); + const SdrPage *pPage = pDoc->GetPage(1); + CPPUNIT_ASSERT_MESSAGE( "no page", pPage != NULL ); + { + std::vector<EECharAttrib> rLst; + SdrObject *pObj = pPage->GetObj(0); + SdrTextObj *pTxtObj = dynamic_cast<SdrTextObj *>( pObj ); + const EditTextObject& aEdit = pTxtObj->GetOutlinerParaObject()->GetTextObject(); + aEdit.GetCharAttribs(1, rLst); + for( std::vector<EECharAttrib>::reverse_iterator it = rLst.rbegin(); it!=rLst.rend(); ++it) + { + const SvxFontHeightItem * pFontHeight = dynamic_cast<const SvxFontHeightItem *>((*it).pAttr); + if( pFontHeight ) + CPPUNIT_ASSERT_MESSAGE( "Font height is wrong", pFontHeight->GetHeight() == 1129 ); + const SvxFontItem *pFont = dynamic_cast<const SvxFontItem *>((*it).pAttr); + if( pFont ) + { + CPPUNIT_ASSERT_MESSAGE( "Font is wrong", pFont->GetFamilyName().equalsAscii("Arial")); + bPassed = true; + } + const SvxWeightItem *pWeight = dynamic_cast<const SvxWeightItem *>((*it).pAttr); + if( pWeight ) + CPPUNIT_ASSERT_MESSAGE( "Font Weight is wrong", pWeight->GetWeight() == WEIGHT_BOLD); + } + } + CPPUNIT_ASSERT(bPassed); +} + void SdFiltersTest::testN778859() { ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/n778859.pptx")); |