Skip to content

Commit 937bffa

Browse files
committed
Add test for unique composermap ids
1 parent b299e08 commit 937bffa

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tests/src/core/testqgscomposermap.cpp

+28
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class TestQgsComposerMap: public QObject
3737
void render(); //test if rendering of the composition with composr map is correct
3838
void grid(); //test if grid and grid annotation works
3939
void overviewMap(); //test if overview map frame works
40+
void uniqueId(); //test if map id is adapted when doing copy paste
4041

4142
private:
4243
QgsComposition* mComposition;
@@ -131,5 +132,32 @@ void TestQgsComposerMap::overviewMap()
131132
QVERIFY( testResult );
132133
}
133134

135+
void TestQgsComposerMap::uniqueId()
136+
{
137+
QDomDocument doc;
138+
QDomElement documentElement = doc.createElement( "ComposerItemClipboard" );
139+
mComposerMap->writeXML( documentElement, doc );
140+
mComposition->addItemsFromXML( documentElement, doc, 0, false );
141+
142+
//test if both composer maps have different ids
143+
const QgsComposerMap* newMap = 0;
144+
QList<const QgsComposerMap*> mapList = mComposition->composerMapItems();
145+
QList<const QgsComposerMap*>::const_iterator mapIt = mapList.constBegin();
146+
for ( ; mapIt != mapList.constEnd(); ++mapIt )
147+
{
148+
if ( *mapIt != mComposerMap )
149+
{
150+
newMap = *mapIt;
151+
break;
152+
}
153+
}
154+
int oldId = mComposerMap->id();
155+
int newId = newMap->id();
156+
157+
mComposition->removeComposerItem( const_cast<QgsComposerMap*>( newMap ) );
158+
159+
QVERIFY( oldId != newId );
160+
}
161+
134162
QTEST_MAIN( TestQgsComposerMap )
135163
#include "moc_testqgscomposermap.cxx"

0 commit comments

Comments
 (0)