From 8305e242c671ade3cc371d6e6d4b1eb7edbfbd84 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Mon, 28 Feb 2011 19:56:53 +0000 Subject: [PATCH] tests for regex match/replace, unicode and non-unicode text --- tests/python_tests/filter_test.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/python_tests/filter_test.py b/tests/python_tests/filter_test.py index 6bbd835dc..5fd5db779 100644 --- a/tests/python_tests/filter_test.py +++ b/tests/python_tests/filter_test.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +# -*- coding: utf-8 -*- from nose.tools import * from utilities import Todo @@ -91,3 +92,31 @@ def test_filter_init(): s = m.find_style('s2') eq_(s.filter_mode,mapnik2.filter_mode.FIRST) + + +def test_regex_match(): + f = mapnik2.Feature(0) + f["name"] = 'test' + expr = mapnik2.Expression("[name].match('test')") + eq_(expr.evaluate(f),1) # 1 == True + +def test_unicode_regex_match(): + f = mapnik2.Feature(0) + f["name"] = 'Québec' + expr = mapnik2.Expression("[name].match('Québec')") + eq_(expr.evaluate(f),1) # 1 == True + +def test_regex_replace(): + f = mapnik2.Feature(0) + f["name"] = 'test' + expr = mapnik2.Expression("[name].replace('(\B)|( )','$1 ')") + eq_(expr.evaluate(f),'t e s t') + +def test_unicode_regex_replace(): + f = mapnik2.Feature(0) + f["name"] = 'Québec' + expr = mapnik2.Expression("[name].replace('(\B)|( )','$1 ')") + eq_(expr.evaluate(f),'Q u é b e c') + + +