@@ -37,6 +37,7 @@ class TestQgsComposerMap: public QObject
37
37
void render (); // test if rendering of the composition with composr map is correct
38
38
void grid (); // test if grid and grid annotation works
39
39
void overviewMap (); // test if overview map frame works
40
+ void uniqueId (); // test if map id is adapted when doing copy paste
40
41
41
42
private:
42
43
QgsComposition* mComposition ;
@@ -131,5 +132,32 @@ void TestQgsComposerMap::overviewMap()
131
132
QVERIFY ( testResult );
132
133
}
133
134
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
+
134
162
QTEST_MAIN ( TestQgsComposerMap )
135
163
#include " moc_testqgscomposermap.cxx"
0 commit comments