summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2010-03-09 11:57:54 +0100
committerOndřej Surý <ondrej@sury.org>2010-03-09 11:57:54 +0100
commit855a09f4eded707941180c9d90acd17c25e29447 (patch)
treea40947efaa9876f31b6ee3956c3f3775768143bb /ext/mbstring/tests
parentc852c28a88fccf6e34a2cb091fdfa72bce2b59c7 (diff)
downloadphp-upstream/5.3.2.tar.gz
Imported Upstream version 5.3.2upstream/5.3.2
Diffstat (limited to 'ext/mbstring/tests')
-rw-r--r--ext/mbstring/tests/bug43994.phpt2
-rw-r--r--ext/mbstring/tests/bug45722.phpt2
-rw-r--r--ext/mbstring/tests/bug47399.phpt2
-rw-r--r--ext/mbstring/tests/bug48697.phpt24
-rw-r--r--ext/mbstring/tests/bug49354.phpt21
-rw-r--r--ext/mbstring/tests/bug49528.phpt20
-rw-r--r--ext/mbstring/tests/bug49536.phpt20
-rw-r--r--ext/mbstring/tests/mb_encoding_aliases.phpt2
-rw-r--r--ext/mbstring/tests/mb_list_encodings.phpt2
9 files changed, 94 insertions, 1 deletions
diff --git a/ext/mbstring/tests/bug43994.phpt b/ext/mbstring/tests/bug43994.phpt
index 39a39f642..8fdb904a7 100644
--- a/ext/mbstring/tests/bug43994.phpt
+++ b/ext/mbstring/tests/bug43994.phpt
@@ -38,7 +38,7 @@ foreach($inputs as $input) {
};
?>
---EXPECTF----
+--EXPECTF--
-- Iteration 1 --
Without $regs arg:
diff --git a/ext/mbstring/tests/bug45722.phpt b/ext/mbstring/tests/bug45722.phpt
index c05a010a8..97f6fe5d9 100644
--- a/ext/mbstring/tests/bug45722.phpt
+++ b/ext/mbstring/tests/bug45722.phpt
@@ -1,5 +1,7 @@
--TEST--
Bug #45722 (mb_check_encoding() crashes)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
--FILE--
<?php
var_dump(mb_check_encoding("&\xc2\xb7 TEST TEST TEST TEST TEST TEST", "HTML-ENTITIES"));
diff --git a/ext/mbstring/tests/bug47399.phpt b/ext/mbstring/tests/bug47399.phpt
index 79618688a..3586e5cc7 100644
--- a/ext/mbstring/tests/bug47399.phpt
+++ b/ext/mbstring/tests/bug47399.phpt
@@ -1,5 +1,7 @@
--TEST--
Bug #47399 (mb_check_encoding() returns true for some illegal SJIS characters)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
--FILE--
<?php
foreach (array("Shift_JIS", "CP932") as $enc) {
diff --git a/ext/mbstring/tests/bug48697.phpt b/ext/mbstring/tests/bug48697.phpt
new file mode 100644
index 000000000..42bbe9f5a
--- /dev/null
+++ b/ext/mbstring/tests/bug48697.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #48697 (mb_internal_encoding() value gets reset by parse_str() or mb_parse_str()
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+ini_set('mbstring.internal_encoding', 'ISO-8859-15');
+ini_set('mbstring.encoding_translation', true);
+var_dump(mb_internal_encoding());
+mb_internal_encoding('UTF-8');
+var_dump(mb_internal_encoding());
+parse_str('a=b');
+var_dump(mb_internal_encoding());
+mb_internal_encoding('UTF-8');
+var_dump(mb_internal_encoding());
+parse_str('a=b');
+var_dump(mb_internal_encoding());
+?>
+--EXPECT--
+string(11) "ISO-8859-15"
+string(5) "UTF-8"
+string(5) "UTF-8"
+string(5) "UTF-8"
+string(5) "UTF-8"
diff --git a/ext/mbstring/tests/bug49354.phpt b/ext/mbstring/tests/bug49354.phpt
new file mode 100644
index 000000000..c25b405d8
--- /dev/null
+++ b/ext/mbstring/tests/bug49354.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Bug #49354 (mb_strcut() cuts wrong length when offset is in the middle of a multibyte character)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+$crap = 'AåBäCöDü';
+var_dump(mb_strcut($crap, 0, 100, 'UTF-8'));
+var_dump(mb_strcut($crap, 1, 100, 'UTF-8'));
+var_dump(mb_strcut($crap, 2, 100, 'UTF-8'));
+var_dump(mb_strcut($crap, 3, 100, 'UTF-8'));
+var_dump(mb_strcut($crap, 12, 100, 'UTF-8'));
+var_dump(mb_strcut($crap, 13, 100, 'UTF-8'));
+?>
+--EXPECT--
+string(12) "AåBäCöDü"
+string(11) "åBäCöDü"
+string(11) "åBäCöDü"
+string(9) "BäCöDü"
+string(0) ""
+bool(false)
diff --git a/ext/mbstring/tests/bug49528.phpt b/ext/mbstring/tests/bug49528.phpt
new file mode 100644
index 000000000..b06c35f85
--- /dev/null
+++ b/ext/mbstring/tests/bug49528.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #49528 (UTF-16 strings prefixed by BOM wrongly converted)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+var_dump(bin2hex(mb_convert_encoding("\xff\xfe\x01\x02\x03\x04", "UCS-2BE", "UTF-16")));
+var_dump(bin2hex(mb_convert_encoding("\xfe\xff\x01\x02\x03\x04", "UCS-2BE", "UTF-16")));
+var_dump(bin2hex(mb_convert_encoding("\xff\xfe\xff\xfe\x01\x02\x03\x04", "UCS-2BE", "UTF-16")));
+var_dump(bin2hex(mb_convert_encoding("\xff\xfe\xfe\xff\x01\x02\x03\x04", "UCS-2BE", "UTF-16")));
+var_dump(bin2hex(mb_convert_encoding("\xfe\xff\xff\xfe\x01\x02\x03\x04", "UCS-2BE", "UTF-16")));
+var_dump(bin2hex(mb_convert_encoding("\xfe\xff\xfe\xff\x01\x02\x03\x04", "UCS-2BE", "UTF-16")));
+?>
+--EXPECT--
+string(8) "02010403"
+string(8) "01020304"
+string(12) "feff02010403"
+string(12) "fffe02010403"
+string(12) "fffe01020304"
+string(12) "feff01020304"
diff --git a/ext/mbstring/tests/bug49536.phpt b/ext/mbstring/tests/bug49536.phpt
new file mode 100644
index 000000000..32685d226
--- /dev/null
+++ b/ext/mbstring/tests/bug49536.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #49536 (mb_detect_encoding() returns incorrect results when strict_mode is turned on)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+// non-strict mode
+var_dump(mb_detect_encoding("A\x81", "SJIS", false));
+// strict mode
+var_dump(mb_detect_encoding("A\x81", "SJIS", true));
+// non-strict mode
+var_dump(mb_detect_encoding("\xc0\x00", "UTF-8", false));
+// strict mode
+var_dump(mb_detect_encoding("\xc0\x00", "UTF-8", true));
+?>
+--EXPECT--
+string(4) "SJIS"
+bool(false)
+string(5) "UTF-8"
+bool(false)
diff --git a/ext/mbstring/tests/mb_encoding_aliases.phpt b/ext/mbstring/tests/mb_encoding_aliases.phpt
index 7b87045d0..2159481ef 100644
--- a/ext/mbstring/tests/mb_encoding_aliases.phpt
+++ b/ext/mbstring/tests/mb_encoding_aliases.phpt
@@ -1,5 +1,7 @@
--TEST--
mb_encoding_aliases()
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
--FILE--
<?php
mb_encoding_aliases();
diff --git a/ext/mbstring/tests/mb_list_encodings.phpt b/ext/mbstring/tests/mb_list_encodings.phpt
index e155cb851..135a9ef67 100644
--- a/ext/mbstring/tests/mb_list_encodings.phpt
+++ b/ext/mbstring/tests/mb_list_encodings.phpt
@@ -1,5 +1,7 @@
--TEST--
mb_list_encodings
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
--FILE--
<?php
var_dump(in_array("7bit", mb_list_encodings()));