summaryrefslogtreecommitdiff
path: root/tests/it.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/it.t')
-rwxr-xr-xtests/it.t36
1 files changed, 31 insertions, 5 deletions
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,