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/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"));