php-src/ext/mbstring/tests/mb_substr.phpt

36 lines
1005 B
Plaintext
Raw Normal View History

2002-10-21 19:19:05 +00:00
--TEST--
mb_substr()
--SKIPIF--
2002-10-30 08:06:52 +00:00
<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
2002-11-03 08:37:59 +00:00
--INI--
output_handler=
2006-07-29 17:11:09 +00:00
mbstring.func_overload=0
2002-10-21 19:19:05 +00:00
--FILE--
2002-03-02 10:44:57 +00:00
<?php
// TODO: Add more encodings
ini_set('include_path','.');
include_once('common.inc');
2002-03-02 10:44:57 +00:00
// EUC-JP
$euc_jp = b'0123<32><33><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8>Ǥ<EFBFBD><C7A4><EFBFBD>EUC-JP<4A><50><EFBFBD>ȤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD>';
2002-03-02 10:44:57 +00:00
print "1: ". bin2hex(mb_substr($euc_jp, 10, 10,'EUC-JP')) . "\n";
print "2: ". bin2hex(mb_substr($euc_jp, 0, 100,'EUC-JP')) . "\n";
2002-03-02 10:44:57 +00:00
$str = mb_substr($euc_jp, 100, 10,'EUC-JP');
// Note: returns last character
($str === "") ? print "3 OK\n" : print "NG: ".bin2hex($str)."\n";
2002-03-02 10:44:57 +00:00
$str = mb_substr($euc_jp, -100, 10,'EUC-JP');
($str !== "") ? print "4 OK: ".bin2hex($str)."\n" : print "NG: ".bin2hex($str)."\n";
2002-03-02 10:44:57 +00:00
?>
2002-10-21 19:19:05 +00:00
--EXPECT--
1: c6fccbdcb8eca4c7a4b9a1a34555432d
2: 30313233a4b3a4cecab8bbfacef3a4cfc6fccbdcb8eca4c7a4b9a1a34555432d4a50a4f2bbc8a4c3a4c6a4a4a4dea4b9a1a3c6fccbdcb8eca4cfccccc5ddbdada4a4a1a3
2002-10-21 19:19:05 +00:00
3 OK
4 OK: 30313233a4b3a4cecab8bbfacef3a4cf
2002-10-21 19:19:05 +00:00