summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests/illformed_utf_sequences.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mbstring/tests/illformed_utf_sequences.phpt')
-rw-r--r--ext/mbstring/tests/illformed_utf_sequences.phpt86
1 files changed, 43 insertions, 43 deletions
diff --git a/ext/mbstring/tests/illformed_utf_sequences.phpt b/ext/mbstring/tests/illformed_utf_sequences.phpt
index 11ab1799e9..3b7d431a0e 100644
--- a/ext/mbstring/tests/illformed_utf_sequences.phpt
+++ b/ext/mbstring/tests/illformed_utf_sequences.phpt
@@ -5,16 +5,16 @@ Unicode standard conformance test (ill-formed UTF sequences.)
--FILE--
<?php
function chk_enc($str, $n, $enc = "UTF-8", $with_bom = false) {
- $src = bin2hex(mb_convert_encoding($str, "UCS-4BE", $enc));
- $dst = str_repeat("0000fffd", $n);
- if ($with_bom) {
- $dst = "0000feff" . $dst;
- }
- if ($dst == $src) {
- return false;
- } else {
- return $src;
- }
+ $src = bin2hex(mb_convert_encoding($str, "UCS-4BE", $enc));
+ $dst = str_repeat("0000fffd", $n);
+ if ($with_bom) {
+ $dst = "0000feff" . $dst;
+ }
+ if ($dst == $src) {
+ return false;
+ } else {
+ return $src;
+ }
}
mb_substitute_character(0xfffd);
@@ -61,12 +61,12 @@ echo "UTF-8 and surrogates area\n";
$out = '';
$cnt = 0;
for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
- $s = chk_enc(pack('C3', 0xe0 | ($i >> 12), 0x80 | ($i >> 6) & 0x3f, 0x80 | $i & 0x3f), 3);
- if ($s === false) {
- $cnt++;
- } else {
- $out .= $s;
- }
+ $s = chk_enc(pack('C3', 0xe0 | ($i >> 12), 0x80 | ($i >> 6) & 0x3f, 0x80 | $i & 0x3f), 3);
+ if ($s === false) {
+ $cnt++;
+ } else {
+ $out .= $s;
+ }
}
var_dump($cnt);
var_dump($out);
@@ -88,11 +88,11 @@ $out = '';
$cnt = 0;
for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
$s = chk_enc(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), 1, "UTF-32BE");
- if ($s === false) {
- $cnt++;
- } else {
- $out .= $s;
- }
+ if ($s === false) {
+ $cnt++;
+ } else {
+ $out .= $s;
+ }
}
var_dump($cnt);
var_dump($out);
@@ -101,11 +101,11 @@ $out = '';
$cnt = 0;
for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
$s = chk_enc(pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff), 1, "UTF-32LE");
- if ($s === false) {
- $cnt++;
- } else {
- $out .= $s;
- }
+ if ($s === false) {
+ $cnt++;
+ } else {
+ $out .= $s;
+ }
}
var_dump($cnt);
var_dump($out);
@@ -114,11 +114,11 @@ $out = '';
$cnt = 0;
for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
$s = chk_enc(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), 1, "UTF-32");
- if ($s === false) {
- $cnt++;
- } else {
- $out .= $s;
- }
+ if ($s === false) {
+ $cnt++;
+ } else {
+ $out .= $s;
+ }
}
var_dump($cnt);
var_dump($out);
@@ -129,12 +129,12 @@ $out = '';
$cnt = 0;
for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
$s = chk_enc("\x00\x00\xfe\xff". pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff),
- 1, "UTF-32", true);
- if ($s === false) {
- $cnt++;
- } else {
- $out .= $s;
- }
+ 1, "UTF-32", true);
+ if ($s === false) {
+ $cnt++;
+ } else {
+ $out .= $s;
+ }
}
var_dump($cnt);
var_dump(str_replace("0000feff","",$out));
@@ -143,12 +143,12 @@ $out = '';
$cnt = 0;
for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
$s = chk_enc("\xff\xfe\x00\x00". pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff),
- 1, "UTF-32", true);
- if ($s === false) {
- $cnt++;
- } else {
- $out .= $s;
- }
+ 1, "UTF-32", true);
+ if ($s === false) {
+ $cnt++;
+ } else {
+ $out .= $s;
+ }
}
var_dump($cnt);
var_dump(str_replace("0000feff","",$out));