From df3c2b5808a90b2b3415783c46c2de78d662e57c Mon Sep 17 00:00:00 2001 From: Moriyoshi Koizumi Date: Mon, 21 Feb 2005 07:45:37 +0000 Subject: [PATCH] - Add testcases for bug #28220 and #30549. --- ext/mbstring/tests/bug28220.phpt | 23 +++++++++++++++++++++++ ext/mbstring/tests/bug30549.phpt | 29 +++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 ext/mbstring/tests/bug28220.phpt create mode 100644 ext/mbstring/tests/bug30549.phpt diff --git a/ext/mbstring/tests/bug28220.phpt b/ext/mbstring/tests/bug28220.phpt new file mode 100644 index 0000000000..563e2da743 --- /dev/null +++ b/ext/mbstring/tests/bug28220.phpt @@ -0,0 +1,23 @@ +--TEST-- +Bug #28220 (mb_strwidth() returns wrong width values for some Hangul characters) +--FILE-- + +--EXPECT-- +8101 +63 diff --git a/ext/mbstring/tests/bug30549.phpt b/ext/mbstring/tests/bug30549.phpt new file mode 100644 index 0000000000..dbd8e0bd19 --- /dev/null +++ b/ext/mbstring/tests/bug30549.phpt @@ -0,0 +1,29 @@ +--TEST-- +Bug #30549 (incorrect character translations for some ISO8859 charsets) +--FILE-- + 0x20ac, 0xa5 => 0x20af, 0xaa => 0x037a)); +test('ISO-8859-8', array(0xaf => 0x00af, 0xfd => 0x200e, 0xfe => 0x200f)); +test('ISO-8859-10', array(0xa4 => 0x012a )); + +function test($enc, $map) { + print "$enc\n"; + + foreach($map as $fromc => $toc) { + $ustr = mb_convert_encoding(pack('C', $fromc), 'UCS-4BE', $enc); + foreach (unpack('Nc', $ustr) as $unic); + printf("0x%04x, 0x%04x\n", $toc, $unic); + } +} +?> +--EXPECT-- +ISO-8859-7 +0x20ac, 0x20ac +0x20af, 0x20af +0x037a, 0x037a +ISO-8859-8 +0x00af, 0x00af +0x200e, 0x200e +0x200f, 0x200f +ISO-8859-10 +0x012a, 0x012a -- 2.50.1