diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/mbstring/tests/mb_convert_encoding.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/mbstring/tests/mb_convert_encoding.phpt')
-rw-r--r-- | ext/mbstring/tests/mb_convert_encoding.phpt | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/ext/mbstring/tests/mb_convert_encoding.phpt b/ext/mbstring/tests/mb_convert_encoding.phpt new file mode 100644 index 0000000..1bc7c86 --- /dev/null +++ b/ext/mbstring/tests/mb_convert_encoding.phpt @@ -0,0 +1,138 @@ +--TEST-- +mb_convert_encoding() +--SKIPIF-- +<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> +--INI-- +output_handler= +mbstring.language=Japanese +--FILE-- +<?php +// TODO: Add more tests +//$debug = true; // Uncomment this line to view error/warning/notice message in *.out file +ini_set('include_path', dirname(__FILE__)); +include_once('common.inc'); + +// SJIS string (BASE64 encoded) +$sjis = base64_decode('k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=='); +// JIS string (BASE64 encoded) +$jis = base64_decode('GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=='); +// EUC-JP string +$euc_jp = '日本語テキストです。0123456789。'; + +// Test with sigle "form encoding" +// Note: For some reason it complains, results are differ. Not reserched. +echo "== BASIC TEST ==\n"; +$s = $sjis; +$s = mb_convert_encoding($s, 'EUC-JP', 'SJIS'); +print("EUC-JP: $s\n"); // EUC-JP + +$s = $jis; +$s = mb_convert_encoding($s, 'EUC-JP', 'JIS'); +print("EUC-JP: $s\n"); // EUC-JP + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'SJIS', 'EUC-JP'); +print("SJIS: ".base64_encode($s)."\n"); // SJIS + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'JIS', 'EUC-JP'); +print("JIS: ".base64_encode($s)."\n"); // JIS + + +// Using Encoding List Array +echo "== STRING ENCODING LIST ==\n"; + +$a = 'JIS,UTF-8,EUC-JP,SJIS'; +$s = $jis; +$s = mb_convert_encoding($s, 'EUC-JP', $a); +print("EUC-JP: $s\n"); // EUC-JP + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'SJIS', $a); +print("SJIS: ".base64_encode($s)."\n"); // SJIS + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'JIS', $a); +print("JIS: ".base64_encode($s)."\n"); // JIS + + +// Using Encoding List Array +echo "== ARRAY ENCODING LIST ==\n"; + +$a = array(0=>'JIS', 1=>'UTF-8', 2=>'EUC-JP', 3=>'SJIS'); +$s = $jis; +$s = mb_convert_encoding($s, 'EUC-JP', $a); +print("EUC-JP: $s\n"); // EUC-JP + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'SJIS', $a); +print("SJIS: ".base64_encode($s)."\n"); // SJIS + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'JIS', $a); +print("JIS: ".base64_encode($s)."\n"); // JIS + + +// Using Detect Order +echo "== DETECT ORDER ==\n"; + +$s = $jis; +$s = mb_convert_encoding($s, 'EUC-JP', 'auto'); +print("EUC-JP: $s\n"); // EUC-JP + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'SJIS', 'auto'); +print("SJIS: ".base64_encode($s)."\n"); // SJIS + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'JIS', 'auto'); +print("JIS: ".base64_encode($s)."\n"); // JIS + + +// Invalid(?) Parameters +echo "== INVALID PARAMETER ==\n"; + +$s = mb_convert_encoding(1234, 'EUC-JP'); +print("INT: $s\n"); // EUC-JP + +$s = mb_convert_encoding('', 'EUC-JP'); +print("EUC-JP: $s\n"); // SJIS + +$s = $euc_jp; +$s = mb_convert_encoding($s, 'BAD'); +print("BAD: $s\n"); // BAD + +$s = $euc_jp; +$s = mb_convert_encoding($s); +print("MP: $s\n"); // Missing parameter + + +?> + +--EXPECT-- +== BASIC TEST == +EUC-JP: 日本語テキストです。0123456789。 +EUC-JP: 日本語テキストです。0123456789。 +SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== +JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== +== STRING ENCODING LIST == +EUC-JP: 日本語テキストです。0123456789。 +SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== +JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== +== ARRAY ENCODING LIST == +EUC-JP: 日本語テキストです。0123456789。 +SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== +JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== +== DETECT ORDER == +EUC-JP: 日本語テキストです。0123456789。 +SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== +JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== +== INVALID PARAMETER == +INT: 1234 +EUC-JP: +ERR: Warning +BAD: +ERR: Warning +MP: + + |