Add test for unique composermap ids

This commit is contained in:
Marco Hugentobler 2012-07-19 11:06:36 +02:00
parent b299e0893c
commit 937bffa2fa

View File

@ -37,6 +37,7 @@ class TestQgsComposerMap: public QObject
void render(); //test if rendering of the composition with composr map is correct void render(); //test if rendering of the composition with composr map is correct
void grid(); //test if grid and grid annotation works void grid(); //test if grid and grid annotation works
void overviewMap(); //test if overview map frame works void overviewMap(); //test if overview map frame works
void uniqueId(); //test if map id is adapted when doing copy paste
private: private:
QgsComposition* mComposition; QgsComposition* mComposition;
@ -131,5 +132,32 @@ void TestQgsComposerMap::overviewMap()
QVERIFY( testResult ); QVERIFY( testResult );
} }
void TestQgsComposerMap::uniqueId()
{
QDomDocument doc;
QDomElement documentElement = doc.createElement( "ComposerItemClipboard" );
mComposerMap->writeXML( documentElement, doc );
mComposition->addItemsFromXML( documentElement, doc, 0, false );
//test if both composer maps have different ids
const QgsComposerMap* newMap = 0;
QList<const QgsComposerMap*> mapList = mComposition->composerMapItems();
QList<const QgsComposerMap*>::const_iterator mapIt = mapList.constBegin();
for ( ; mapIt != mapList.constEnd(); ++mapIt )
{
if ( *mapIt != mComposerMap )
{
newMap = *mapIt;
break;
}
}
int oldId = mComposerMap->id();
int newId = newMap->id();
mComposition->removeComposerItem( const_cast<QgsComposerMap*>( newMap ) );
QVERIFY( oldId != newId );
}
QTEST_MAIN( TestQgsComposerMap ) QTEST_MAIN( TestQgsComposerMap )
#include "moc_testqgscomposermap.cxx" #include "moc_testqgscomposermap.cxx"