Annotation of embedaddon/php/ext/iconv/tests/iconv_substr.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: iconv_substr()
3: --SKIPIF--
4: <?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
5: --INI--
6: iconv.internal_charset=ISO-8859-1
7: --FILE--
8: <?php
9: function hexdump($str) {
10: $len = strlen($str);
11: for ($i = 0; $i < $len; ++$i) {
12: printf("%02x", ord($str[$i]));
13: }
14: print "\n";
15: }
16:
17: function foo($str, $offset, $len, $charset) {
18: hexdump(substr($str, $offset, $len));
19: hexdump(iconv_substr($str, $offset, $len, $charset));
20: }
21:
22: function bar($str, $offset, $len = false) {
23: if (is_bool($len)) {
24: var_dump(substr($str, $offset));
25: var_dump(iconv_substr($str, $offset));
26: } else {
27: var_dump(substr($str, $offset, $len));
28: var_dump(iconv_substr($str, $offset, $len));
29: }
30: }
31:
32: foo("abcdefghijklmnopqrstuvwxyz", 5, 7, "ASCII");
33: foo("あいうえおかきくけこさしす", 5, 7, "EUC-JP");
34: bar("This is a test", 100000);
35: bar("This is a test", 0, 100000);
36: bar("This is a test", -3);
37: bar("This is a test", 0, -9);
38: bar("This is a test", 0, -100000);
39: bar("This is a test", -9, -100000);
40: var_dump(iconv("ISO-2022-JP", "EUC-JP", iconv_substr(iconv("EUC-JP", "ISO-2022-JP", "こんにちは ISO-2022-JP"), 3, 8, "ISO-2022-JP")));
41: ?>
42: --EXPECT--
43: 666768696a6b6c
44: 666768696a6b6c
45: a6a4a8a4aaa4ab
46: a4aba4ada4afa4b1a4b3a4b5a4b7
47: bool(false)
48: bool(false)
49: string(14) "This is a test"
50: string(14) "This is a test"
51: string(3) "est"
52: string(3) "est"
53: string(5) "This "
54: string(5) "This "
55: bool(false)
56: bool(false)
57: bool(false)
58: bool(false)
59: string(10) "ちは ISO-2"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>