Annotation of embedaddon/php/ext/iconv/tests/iconv_substr.phpt, revision 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>