diff --git a/tests/src/python/test_qgsogcutils.py b/tests/src/python/test_qgsogcutils.py
index bf3785a622c..c670ae0e6ca 100644
--- a/tests/src/python/test_qgsogcutils.py
+++ b/tests/src/python/test_qgsogcutils.py
@@ -98,6 +98,27 @@ class TestQgsOgcUtils(unittest.TestCase):
e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
self.assertEqual(e.expression(), 'id > 2 AND id < 4')
+ # Literals are Scientific notation 15e-01 and 35e-01
+ f = '''
+
+
+
+ id
+ 15e-01
+
+
+ id
+ 35e-01
+
+
+
+ '''
+ d = QDomDocument('filter')
+ d.setContent(f, True)
+
+ e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
+ self.assertEqual(e.expression(), 'id > 2 AND id < 4')
+
def test_expressionFromOgcFilterWithLonglong(self):
"""
Test expressionFromOgcFilter with LongLong type field
@@ -168,6 +189,27 @@ class TestQgsOgcUtils(unittest.TestCase):
e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
self.assertEqual(e.expression(), 'id > 2 AND id < 4')
+ # Literals are Scientific notation 15e-01 and 35e-01
+ f = '''
+
+
+
+ id
+ 15e-01
+
+
+ id
+ 35e-01
+
+
+
+ '''
+ d = QDomDocument('filter')
+ d.setContent(f, True)
+
+ e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
+ self.assertEqual(e.expression(), 'id > 2 AND id < 4')
+
def test_expressionFromOgcFilterWithDouble(self):
"""
Test expressionFromOgcFilter with Double type field
@@ -239,6 +281,27 @@ class TestQgsOgcUtils(unittest.TestCase):
e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
self.assertEqual(e.expression(), 'id > 1.5 AND id < 3.5')
+ # Literals are Scientific notation 15e-01 and 35e-01
+ f = '''
+
+
+
+ id
+ 15e-01
+
+
+ id
+ 35e-01
+
+
+
+ '''
+ d = QDomDocument('filter')
+ d.setContent(f, True)
+
+ e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
+ self.assertEqual(e.expression(), 'id > 1.5 AND id < 3.5')
+
def test_expressionFromOgcFilterWithString(self):
"""
Test expressionFromOgcFilter with String type field
@@ -310,6 +373,27 @@ class TestQgsOgcUtils(unittest.TestCase):
e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
self.assertEqual(e.expression(), 'id > \'1.5\' AND id < \'3.5\'')
+ # Literals are Scientific notation 15e-01 and 35e-01
+ f = '''
+
+
+
+ id
+ 15e-01
+
+
+ id
+ 35e-01
+
+
+
+ '''
+ d = QDomDocument('filter')
+ d.setContent(f, True)
+
+ e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl)
+ self.assertEqual(e.expression(), 'id > \'15e-01\' AND id < \'35e-01\'')
+
if __name__ == '__main__':
unittest.main()