Skip to content

Commit 1af7581

Browse files
committed
Add tests for composer html multi frames using smart breaks
1 parent 68de427 commit 1af7581

File tree

5 files changed

+61
-0
lines changed

5 files changed

+61
-0
lines changed

tests/src/core/testqgscomposerhtml.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class TestQgsComposerHtml: public QObject
3232
void cleanup();// will be called after every testfunction.
3333
void table(); //test if rendering of the composition with composr map is correct
3434
void tableMultiFrame(); //tests multiframe capabilities of composer html
35+
void htmlMultiFrameSmarkBreak(); //tests smart page breaks in html multi frame
3536
private:
3637
QgsComposition* mComposition;
3738
QgsMapSettings mMapSettings;
@@ -111,6 +112,32 @@ void TestQgsComposerHtml::tableMultiFrame()
111112
QVERIFY( result );
112113
}
113114

115+
void TestQgsComposerHtml::htmlMultiFrameSmarkBreak()
116+
{
117+
QgsComposerHtml* htmlItem = new QgsComposerHtml( mComposition, false );
118+
QgsComposerFrame* htmlFrame = new QgsComposerFrame( mComposition, htmlItem, 10, 10, 100, 50 );
119+
htmlItem->addFrame( htmlFrame );
120+
htmlItem->setResizeMode( QgsComposerMultiFrame::RepeatUntilFinished );
121+
htmlItem->setUseSmartBreaks( true );
122+
123+
//page1
124+
htmlItem->setUrl( QUrl( QString( "file:///%1" ).arg( QString( TEST_DATA_DIR ) + QDir::separator() + "html_table.html" ) ) );
125+
htmlItem->frame( 0 )->setFrameEnabled( true );
126+
QgsCompositionChecker checker1( "composerhtml_smartbreaks1", mComposition );
127+
bool result = checker1.testComposition( mReport );
128+
129+
//page2
130+
QgsCompositionChecker checker2( "composerhtml_smartbreaks2", mComposition );
131+
result = checker2.testComposition( mReport, 1 ) && result;
132+
//page 3
133+
QgsCompositionChecker checker3( "composerhtml_smartbreaks3", mComposition );
134+
result = checker3.testComposition( mReport, 2 ) && result;
135+
136+
mComposition->removeMultiFrame( htmlItem );
137+
delete htmlItem;
138+
QVERIFY( result );
139+
}
140+
114141

115142
QTEST_MAIN( TestQgsComposerHtml )
116143
#include "moc_testqgscomposerhtml.cxx"

tests/src/python/test_qgscomposerhtml.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,40 @@ def testTableMultiFrame(self):
103103

104104
assert myTestResult, myMessage
105105

106+
def testHtmlSmartBreaks(self):
107+
"""Test rendering to multiframes with smart breaks."""
108+
composerHtml = QgsComposerHtml(self.mComposition, False)
109+
htmlFrame = QgsComposerFrame(self.mComposition, composerHtml,
110+
10, 10, 100, 50)
111+
composerHtml.addFrame(htmlFrame)
112+
composerHtml.setResizeMode(
113+
QgsComposerMultiFrame.RepeatUntilFinished)
114+
composerHtml.setUseSmartBreaks( True )
115+
composerHtml.setUrl(self.htmlUrl())
116+
composerHtml.frame(0).setFrameEnabled(True)
117+
118+
print "Checking page 1"
119+
myPage = 0
120+
checker1 = QgsCompositionChecker('composerhtml_smartbreaks1', self.mComposition)
121+
myTestResult, myMessage = checker1.testComposition( myPage )
122+
assert myTestResult, myMessage
123+
124+
print "Checking page 2"
125+
myPage = 1
126+
checker2 = QgsCompositionChecker('composerhtml_smartbreaks2', self.mComposition)
127+
myTestResult, myMessage = checker2.testComposition( myPage )
128+
assert myTestResult, myMessage
129+
130+
print "Checking page 3"
131+
myPage = 2
132+
checker3 = QgsCompositionChecker('composerhtml_smartbreaks3', self.mComposition)
133+
myTestResult, myMessage = checker3.testComposition( myPage )
134+
135+
self.mComposition.removeMultiFrame( composerHtml )
136+
composerHtml = None
137+
138+
assert myTestResult, myMessage
139+
106140
def testComposerHtmlAccessor(self):
107141
"""Test that we can retrieve the ComposerHtml instance given an item.
108142
"""

0 commit comments

Comments
 (0)