Skip to content

Commit 7805bc0

Browse files
author
Hugo Mercier
committed
Add unit test for atlas signals
1 parent 9eb8ef4 commit 7805bc0

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/src/core/testqgsatlascomposition.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "qgssymbolv2.h"
2929
#include "qgssinglesymbolrendererv2.h"
3030
#include <QObject>
31+
#include <QSignalSpy>
3132
#include <QtTest>
3233

3334
class TestQgsAtlasComposition: public QObject
@@ -57,6 +58,8 @@ class TestQgsAtlasComposition: public QObject
5758
void sorting_render();
5859
// test rendering with feature filtering
5960
void filtering_render();
61+
// test render signals
62+
void test_signals();
6063
private:
6164
QgsComposition* mComposition;
6265
QgsComposerLabel* mLabel1;
@@ -365,5 +368,31 @@ void TestQgsAtlasComposition::filtering_render()
365368
mAtlas->endRender();
366369
}
367370

371+
void TestQgsAtlasComposition::test_signals()
372+
{
373+
mAtlasMap->setNewExtent( QgsRectangle( 209838.166, 6528781.020, 610491.166, 6920530.620 ) );
374+
mAtlasMap->setAtlasDriven( true );
375+
mAtlasMap->setAtlasFixedScale( true );
376+
mAtlas->setHideCoverage( false );
377+
mAtlas->setSortFeatures( false );
378+
mAtlas->setFilterFeatures( false );
379+
380+
QSignalSpy spyRenderBegun( mAtlas, SIGNAL(renderBegun()) );
381+
QSignalSpy spyRenderEnded( mAtlas, SIGNAL(renderEnded()) );
382+
QSignalSpy spyPreparedForAtlas( mAtlasMap, SIGNAL(preparedForAtlas()) );
383+
mAtlas->beginRender();
384+
385+
QVERIFY( spyRenderBegun.count() == 1 );
386+
387+
for ( int fit = 0; fit < 2; ++fit )
388+
{
389+
mAtlas->prepareForFeature( fit );
390+
mLabel1->adjustSizeToText();
391+
}
392+
QVERIFY( spyPreparedForAtlas.count() == 2 );
393+
mAtlas->endRender();
394+
QVERIFY( spyRenderEnded.count() == 1 );
395+
}
396+
368397
QTEST_MAIN( TestQgsAtlasComposition )
369398
#include "moc_testqgsatlascomposition.cxx"

0 commit comments

Comments
 (0)