summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2002-11-08 07:22:10 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2002-11-08 07:22:10 +0000
commit72e0aa894aece4d2d68d4e02a25a795e8e69aaae (patch)
tree421aaf8ea4db12e0066f9ddb8146cef53d3d2825
parent2838df58fb7f40893b532b93298ecdd368db651f (diff)
downloadphp-git-72e0aa894aece4d2d68d4e02a25a795e8e69aaae.tar.gz
Added a test for function overloading behaviour
-rw-r--r--ext/mbstring/tests/overload.phpt33
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)