Skip to content

Commit 79a11dc

Browse files
committedMar 21, 2017
Extend layout manager tests
1 parent 5722f15 commit 79a11dc

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
 

‎tests/src/python/test_qgslayoutmanager.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,44 @@ def testReadWriteXml(self):
195195
names = [c.name() for c in manager2.compositions()]
196196
self.assertEqual(set(names), {'test composition', 'test composition2', 'test composition3'})
197197

198+
def testSaveAsTemplate(self):
199+
"""
200+
Test saving composition as template
201+
"""
202+
project = QgsProject()
203+
manager = QgsLayoutManager(project)
204+
doc = QDomDocument("testdoc")
205+
self.assertFalse(manager.saveAsTemplate('not in manager', doc))
206+
207+
composition = QgsComposition(project)
208+
composition.setName('test composition')
209+
manager.addComposition(composition)
210+
self.assertTrue(manager.saveAsTemplate('test composition', doc))
211+
212+
def testDuplicateComposition(self):
213+
"""
214+
Test duplicating compositions
215+
"""
216+
project = QgsProject()
217+
manager = QgsLayoutManager(project)
218+
doc = QDomDocument("testdoc")
219+
self.assertFalse(manager.duplicateComposition('not in manager', 'dest'))
220+
221+
composition = QgsComposition(project)
222+
composition.setName('test composition')
223+
composition.setPaperSize(100, 200)
224+
manager.addComposition(composition)
225+
# duplicate name
226+
self.assertFalse(manager.duplicateComposition('test composition', 'test composition'))
227+
228+
result = manager.duplicateComposition('test composition', 'dupe composition')
229+
self.assertTrue(result)
230+
# make sure result in stored in manager
231+
self.assertEqual(result, manager.compositionByName('dupe composition'))
232+
self.assertEqual(result.name(), 'dupe composition')
233+
self.assertEqual(result.paperHeight(), 200)
234+
self.assertEqual(result.paperWidth(), 100)
235+
198236

199237
if __name__ == '__main__':
200238
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.