n#828390: Add unit test for font properties export.

This commit is contained in:
Muthu Subramanian
2013-12-18 20:01:11 +05:30
parent 33b796eb14
commit 33b59c5557
2 changed files with 43 additions and 0 deletions

Binary file not shown.

View File

@@ -16,6 +16,8 @@
#include <editeng/fhgtitem.hxx> #include <editeng/fhgtitem.hxx>
#include <editeng/escapementitem.hxx> #include <editeng/escapementitem.hxx>
#include <editeng/colritem.hxx> #include <editeng/colritem.hxx>
#include <editeng/fontitem.hxx>
#include <editeng/wghtitem.hxx>
#include <rsc/rscsfx.hxx> #include <rsc/rscsfx.hxx>
#include <svx/svdotext.hxx> #include <svx/svdotext.hxx>
@@ -51,6 +53,7 @@ public:
void testN828390(); void testN828390();
void testN828390_2(); void testN828390_2();
void testN828390_3(); void testN828390_3();
void testN828390_4();
void testFdo68594(); void testFdo68594();
CPPUNIT_TEST_SUITE(SdFiltersTest); CPPUNIT_TEST_SUITE(SdFiltersTest);
@@ -63,6 +66,7 @@ public:
CPPUNIT_TEST(testN828390); CPPUNIT_TEST(testN828390);
CPPUNIT_TEST(testN828390_2); CPPUNIT_TEST(testN828390_2);
CPPUNIT_TEST(testN828390_3); CPPUNIT_TEST(testN828390_3);
CPPUNIT_TEST(testN828390_4);
CPPUNIT_TEST(testFdo68594); CPPUNIT_TEST(testFdo68594);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
@@ -283,6 +287,45 @@ void SdFiltersTest::testN828390_3()
CPPUNIT_ASSERT_MESSAGE("CharEscapment not imported properly", bPassed); 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() void SdFiltersTest::testN778859()
{ {
::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/n778859.pptx")); ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/n778859.pptx"));