Skip to content

Commit e306cb4

Browse files
committedJul 5, 2017
Add some tests
1 parent 15546d8 commit e306cb4

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
 

‎tests/src/python/test_qgsexpression.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import qgis # NOQA
1616

17+
from qgis.PyQt.QtCore import QVariant
1718
from qgis.testing import unittest
1819
from qgis.utils import qgsfunction
1920
from qgis.core import QgsExpression, QgsFeatureRequest
@@ -196,6 +197,39 @@ def testValid(self):
196197
e.setExpression('1')
197198
self.assertTrue(e.isValid())
198199

200+
def testCreateFieldEqualityExpression(self):
201+
e = QgsExpression()
202+
203+
# test when value is null
204+
field = "myfield"
205+
value = QVariant()
206+
res = '"myfield" IS NULL'
207+
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
208+
209+
# test when value is null and field name has a quote
210+
field = "my'field"
211+
value = QVariant()
212+
res = '"my\'field" IS NULL'
213+
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
214+
215+
# test when field name has a quote and value is an int
216+
field = "my'field"
217+
value = 5
218+
res = '"my\'field" = 5'
219+
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
220+
221+
# test when field name has a quote and value is a string
222+
field = "my'field"
223+
value = '5'
224+
res = '"my\'field" = \'5\''
225+
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
226+
227+
# test when field name has a quote and value is a boolean
228+
field = "my'field"
229+
value = True
230+
res = '"my\'field" = TRUE'
231+
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
232+
199233

200234
if __name__ == "__main__":
201235
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.