Skip to content

Commit dd6f98f

Browse files
committedMar 27, 2018
Add unit tests
1 parent 2cb1f43 commit dd6f98f

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed
 

‎tests/src/python/test_qgsrulebasedrenderer.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
QgsRendererCategory,
4141
QgsCategorizedSymbolRenderer,
4242
QgsGraduatedSymbolRenderer,
43-
QgsRendererRange
43+
QgsRendererRange,
44+
QgsRenderContext
4445
)
4546
from qgis.testing import start_app, unittest
4647
from utilities import unitTestDataPath
@@ -101,6 +102,27 @@ def testDisabledElse(self):
101102

102103
assert result
103104

105+
def testWillRenderFeature(self):
106+
vl = self.mapsettings.layers()[0]
107+
ft = vl.getFeature(0) # 'id' = 1
108+
renderer = vl.renderer()
109+
110+
ctx = QgsRenderContext.fromMapSettings(self.mapsettings)
111+
ctx.expressionContext().setFeature(ft)
112+
113+
renderer.rootRule().children()[0].setActive(False)
114+
renderer.rootRule().children()[1].setActive(True)
115+
renderer.rootRule().children()[2].setActive(True)
116+
117+
renderer.startRender(ctx, vl.fields()) # build mActiveChlidren
118+
119+
rendered = renderer.willRenderFeature(ft, ctx)
120+
renderer.rootRule().children()[0].setActive(True)
121+
assert rendered == False
122+
123+
rendered = renderer.willRenderFeature(ft, ctx)
124+
assert rendered == True
125+
104126
def testRefineWithCategories(self):
105127
# Test refining rule with categories (refs #10815)
106128

0 commit comments

Comments
 (0)
Please sign in to comment.