From 080f500af35074475c1ef0ff2d6af797f207a7f0 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Wed, 29 May 2013 13:27:47 -0700 Subject: [PATCH] more tests for #1859, and make note of bug #1873 --- tests/python_tests/filter_test.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/tests/python_tests/filter_test.py b/tests/python_tests/filter_test.py index 3c4f5f9e9..76239a3e3 100644 --- a/tests/python_tests/filter_test.py +++ b/tests/python_tests/filter_test.py @@ -286,8 +286,8 @@ truthyness = [ [0.0,False,float], [123.123,True,float], [.1,True,float], - [False,False,int], # TODO - should become bool - [True,True,int], # TODO - should become bool + [False,False,int], # TODO - should become bool: https://github.com/mapnik/mapnik/issues/1873 + [True,True,int], # TODO - should become bool: https://github.com/mapnik/mapnik/issues/1873 [None,False,None], [2147483648,True,int], [922337203685477580,True,int] @@ -357,7 +357,21 @@ def test_filtering_nulls_and_empty_strings(): eq_(mapnik.Expression("[prop4] = ''").to_bool(f),False) eq_(mapnik.Expression("[prop4] != null or [prop4] != ''").to_bool(f),True) eq_(mapnik.Expression("[prop4] != null and [prop4] != ''").to_bool(f),False) + f["prop5"] = False + eq_(f["prop5"],False) + eq_(mapnik.Expression("[prop5]").to_bool(f),False) + eq_(mapnik.Expression("! [prop5]").to_bool(f),True) + eq_(mapnik.Expression("[prop5] != null").to_bool(f),True) + eq_(mapnik.Expression("[prop5] = null").to_bool(f),False) + eq_(mapnik.Expression("[prop5] != ''").to_bool(f),True) + eq_(mapnik.Expression("[prop5] = ''").to_bool(f),False) + eq_(mapnik.Expression("[prop5] != null or [prop5] != ''").to_bool(f),True) + eq_(mapnik.Expression("[prop5] != null and [prop5] != ''").to_bool(f),True) + # note, we need to do [prop5] != 0 here instead of false due to this bug: + # https://github.com/mapnik/mapnik/issues/1873 + eq_(mapnik.Expression("[prop5] != null and [prop5] != '' and [prop5] != 0").to_bool(f),False) if __name__ == "__main__": - [eval(run)() for run in dir() if 'test_' in run] + test_filtering_nulls_and_empty_strings() + #[eval(run)() for run in dir() if 'test_' in run]