summaryrefslogtreecommitdiff
path: root/sd/qa/unit/import-tests.cxx
diff options
context:
space:
mode:
authorMuthu Subramanian <sumuthu@collabora.com>2013-12-18 20:01:11 +0530
committerMuthu Subramanian <sumuthu@collabora.com>2013-12-18 20:01:11 +0530
commit33b59c555755283edbcb3bb50a44db153cb1c23f (patch)
tree659466a8fc621d13fee5e737cd3b294941ce7a77 /sd/qa/unit/import-tests.cxx
parent33b796eb1484b9a3fc11a189faddb7fc36509856 (diff)
n#828390: Add unit test for font properties export.
Diffstat (limited to 'sd/qa/unit/import-tests.cxx')
-rw-r--r--sd/qa/unit/import-tests.cxx43
1 files changed, 43 insertions, 0 deletions
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"));