diff options
-rw-r--r-- | ext/mbstring/tests/overload.phpt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/mbstring/tests/overload.phpt b/ext/mbstring/tests/overload.phpt new file mode 100644 index 0000000000..3e1fc44bf7 --- /dev/null +++ b/ext/mbstring/tests/overload.phpt @@ -0,0 +1,33 @@ +--TEST-- +Function overloading test (said to be harmful) +--SKIPIF-- +<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> +--INI-- +output_handler= +mbstring.func_overload=7 +mbstring.internal_encoding=EUC-JP +--FILE-- +<?php +echo mb_internal_encoding()."\n"; + +$ngchars = array('ǽ','ɽ','»½','¥½'); +$str = '¸µÏ½ÍÜ»½Ðò¼Òº¾µ½É½¸½Ç½ÎÏɽ¼¨±½ÌÈÄä˽ÎÏŽÉÕ¹½Ê¸·½»ÒͽÃÎñ½Æ¬¥½¥Õ¥¡¡¼'; +var_dump(strlen($str)); +var_dump(mb_strlen($str)); + +$converted_str = mb_convert_encoding($str, 'Shift_JIS'); +mb_regex_encoding('Shift_JIS'); +foreach($ngchars as $c) { + $c = mb_convert_encoding($c, 'Shift_JIS'); + $replaced = mb_convert_encoding(ereg_replace($c, '!!', $converted_str), mb_internal_encoding(), 'Shift_JIS'); + var_dump(strpos($replaced, '!!')); +} +?> +--EXPECT-- +EUC-JP +int(33) +int(33) +int(10) +int(8) +int(3) +int(29) |