From c0938f79a452c44e28fccc326775891ba6c743e3 Mon Sep 17 00:00:00 2001 From: Christian Weber Date: Wed, 29 Feb 2012 10:12:11 +0000 Subject: it::convertregex() sets /u if default_charset is 'utf-8' (can be overridden) --- tests/it.t | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/it.t b/tests/it.t index 67160d0..c0efa2c 100755 --- a/tests/it.t +++ b/tests/it.t @@ -3,13 +3,13 @@ # Tests for it.class -function match( $regex, $string, $exp, $name ) +function match($regex, $string, $expect, $name) { $GLOBALS['TEST_MORE_LEVEL'] = 1; - $pass = is( it::match( $regex, $string ), $exp, $name ); - if( !$pass ) { - diag( " regex given: $regex" ); - diag( " regex converted: " . it::convertregex( $regex ) ); + $pass = is (it::match($regex, $string), $expect, $name); + if (!$pass) { + diag(" regex given: $regex"); + diag(" regex converted: " . it::convertregex($regex)); } $GLOBALS['TEST_MORE_LEVEL'] = 0; } @@ -183,6 +183,32 @@ match( 'Ö', 'match umlaute in latin1 case insensitive' ); + +is( + it::match(utf8_encode('aöBÜ'), utf8_encode("AÖbü"), array('utf8' => true)), + utf8_encode('AÖbü'), + "match utf-8 umlaute in case insensitive" +); + +$oldcharset = ini_get('default_charset'); +ini_set('default_charset', 'utf-8'); +match( + utf8_encode('aöBÜ'), utf8_encode('AÖbü'), + utf8_encode('AÖbü'), + "match utf-8 umlaute in case insensitive using default_charset" +); +is( + it::match('aöBÜ', 'AÖbü', array('utf8' => false)), + 'AÖbü', + "non-utf-8 override with default_charset=utf-8" +); +match( + '\w+', utf8_encode('Müller'), + utf8_encode('Müller'), + '\w matches umlaut in utf-8 mode' +); +ini_set('default_charset', $oldcharset); + is( it::match( 'abc', "aBc", array('casesensitive' => 1 )), false, -- cgit v1.2.3