mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-10 00:05:25 -04:00
Add some tests
This commit is contained in:
parent
15546d84cf
commit
e306cb4b09
@ -14,6 +14,7 @@ __revision__ = '$Format:%H$'
|
||||
|
||||
import qgis # NOQA
|
||||
|
||||
from qgis.PyQt.QtCore import QVariant
|
||||
from qgis.testing import unittest
|
||||
from qgis.utils import qgsfunction
|
||||
from qgis.core import QgsExpression, QgsFeatureRequest
|
||||
@ -196,6 +197,39 @@ class TestQgsExpressionCustomFunctions(unittest.TestCase):
|
||||
e.setExpression('1')
|
||||
self.assertTrue(e.isValid())
|
||||
|
||||
def testCreateFieldEqualityExpression(self):
|
||||
e = QgsExpression()
|
||||
|
||||
# test when value is null
|
||||
field = "myfield"
|
||||
value = QVariant()
|
||||
res = '"myfield" IS NULL'
|
||||
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
|
||||
|
||||
# test when value is null and field name has a quote
|
||||
field = "my'field"
|
||||
value = QVariant()
|
||||
res = '"my\'field" IS NULL'
|
||||
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
|
||||
|
||||
# test when field name has a quote and value is an int
|
||||
field = "my'field"
|
||||
value = 5
|
||||
res = '"my\'field" = 5'
|
||||
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
|
||||
|
||||
# test when field name has a quote and value is a string
|
||||
field = "my'field"
|
||||
value = '5'
|
||||
res = '"my\'field" = \'5\''
|
||||
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
|
||||
|
||||
# test when field name has a quote and value is a boolean
|
||||
field = "my'field"
|
||||
value = True
|
||||
res = '"my\'field" = TRUE'
|
||||
self.assertEqual(e.createFieldEqualityExpression(field, value), res)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user