Skip to content

Commit 0ec7d54

Browse files
committedFeb 28, 2018
add test for QgsReadWriteContext.enterCategory
1 parent d171ca7 commit 0ec7d54

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed
 

‎tests/src/python/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ ADD_PYTHON_TEST(PyQgsTabfileProvider test_provider_tabfile.py)
154154
ADD_PYTHON_TEST(PyQgsTabWidget test_qgstabwidget.py)
155155
ADD_PYTHON_TEST(PyQgsTextRenderer test_qgstextrenderer.py)
156156
ADD_PYTHON_TEST(PyQgsOGRProvider test_provider_ogr.py)
157+
ADD_PYTHON_TEST(PyQgsReadWriteContext test_qgsreadwritecontext.py)
157158
ADD_PYTHON_TEST(PyQgsSearchWidgetToolButton test_qgssearchwidgettoolbutton.py)
158159
ADD_PYTHON_TEST(PyQgsSearchWidgetWrapper test_qgssearchwidgetwrapper.py)
159160
ADD_PYTHON_TEST(PyQgsShortcutsManager test_qgsshortcutsmanager.py)
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# -*- coding: utf-8 -*-
2+
"""QGIS Unit tests for QgsReadWriteContext.
3+
4+
.. note:: This program is free software; you can redistribute it and/or modify
5+
it under the terms of the GNU General Public License as published by
6+
the Free Software Foundation; either version 2 of the License, or
7+
(at your option) any later version.
8+
"""
9+
10+
__author__ = 'Denis Rouzaud'
11+
__date__ = '28.02.2018'
12+
__copyright__ = 'Copyright 2017, The QGIS Project'
13+
# This will get replaced with a git SHA1 when you do a git archive
14+
__revision__ = '$Format:%H$'
15+
16+
import qgis # NOQA
17+
18+
19+
from qgis.core import Qgis, QgsReadWriteContext
20+
from qgis.testing import unittest
21+
22+
23+
class TestQgsReadWriteContext(unittest.TestCase):
24+
25+
def testEnterCategory(self):
26+
context = QgsReadWriteContext()
27+
context.pushMessage('msg0', Qgis.Critical)
28+
with QgsReadWriteContext.enterCategory(context, 'cat1'):
29+
context.pushMessage('msg1', Qgis.Warning)
30+
with QgsReadWriteContext.enterCategory(context, 'cat2', "detail2"):
31+
context.pushMessage('msg2')
32+
context.pushMessage('msg3')
33+
context.pushMessage('msg4')
34+
35+
messages = context.takeMessages()
36+
37+
self.assertEqual(messages[0].message(), 'msg0')
38+
self.assertEqual(messages[0].level(), Qgis.Critical)
39+
self.assertEqual(messages[0].categories(), [])
40+
41+
self.assertEqual(messages[1].message(), 'msg1')
42+
self.assertEqual(messages[1].level(), Qgis.Warning)
43+
self.assertEqual(messages[1].categories(), ['cat1'])
44+
45+
self.assertEqual(messages[2].message(), 'msg2')
46+
self.assertEqual(messages[2].categories(), ['cat1', 'cat2 :: detail2'])
47+
48+
self.assertEqual(messages[3].message(), 'msg3')
49+
self.assertEqual(messages[3].categories(), ['cat1'])
50+
51+
self.assertEqual(messages[4].message(), 'msg4')
52+
self.assertEqual(messages[4].categories(), [])
53+
54+
55+
if __name__ == '__main__':
56+
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.