Annotation of embedaddon/php/ext/mbstring/tests/mb_convert_encoding.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: mb_convert_encoding()
! 3: --SKIPIF--
! 4: <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
! 5: --INI--
! 6: output_handler=
! 7: mbstring.language=Japanese
! 8: --FILE--
! 9: <?php
! 10: // TODO: Add more tests
! 11: //$debug = true; // Uncomment this line to view error/warning/notice message in *.out file
! 12: ini_set('include_path', dirname(__FILE__));
! 13: include_once('common.inc');
! 14:
! 15: // SJIS string (BASE64 encoded)
! 16: $sjis = base64_decode('k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==');
! 17: // JIS string (BASE64 encoded)
! 18: $jis = base64_decode('GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==');
! 19: // EUC-JP string
! 20: $euc_jp = '日本語テキストです。0123456789。';
! 21:
! 22: // Test with sigle "form encoding"
! 23: // Note: For some reason it complains, results are differ. Not reserched.
! 24: echo "== BASIC TEST ==\n";
! 25: $s = $sjis;
! 26: $s = mb_convert_encoding($s, 'EUC-JP', 'SJIS');
! 27: print("EUC-JP: $s\n"); // EUC-JP
! 28:
! 29: $s = $jis;
! 30: $s = mb_convert_encoding($s, 'EUC-JP', 'JIS');
! 31: print("EUC-JP: $s\n"); // EUC-JP
! 32:
! 33: $s = $euc_jp;
! 34: $s = mb_convert_encoding($s, 'SJIS', 'EUC-JP');
! 35: print("SJIS: ".base64_encode($s)."\n"); // SJIS
! 36:
! 37: $s = $euc_jp;
! 38: $s = mb_convert_encoding($s, 'JIS', 'EUC-JP');
! 39: print("JIS: ".base64_encode($s)."\n"); // JIS
! 40:
! 41:
! 42: // Using Encoding List Array
! 43: echo "== STRING ENCODING LIST ==\n";
! 44:
! 45: $a = 'JIS,UTF-8,EUC-JP,SJIS';
! 46: $s = $jis;
! 47: $s = mb_convert_encoding($s, 'EUC-JP', $a);
! 48: print("EUC-JP: $s\n"); // EUC-JP
! 49:
! 50: $s = $euc_jp;
! 51: $s = mb_convert_encoding($s, 'SJIS', $a);
! 52: print("SJIS: ".base64_encode($s)."\n"); // SJIS
! 53:
! 54: $s = $euc_jp;
! 55: $s = mb_convert_encoding($s, 'JIS', $a);
! 56: print("JIS: ".base64_encode($s)."\n"); // JIS
! 57:
! 58:
! 59: // Using Encoding List Array
! 60: echo "== ARRAY ENCODING LIST ==\n";
! 61:
! 62: $a = array(0=>'JIS', 1=>'UTF-8', 2=>'EUC-JP', 3=>'SJIS');
! 63: $s = $jis;
! 64: $s = mb_convert_encoding($s, 'EUC-JP', $a);
! 65: print("EUC-JP: $s\n"); // EUC-JP
! 66:
! 67: $s = $euc_jp;
! 68: $s = mb_convert_encoding($s, 'SJIS', $a);
! 69: print("SJIS: ".base64_encode($s)."\n"); // SJIS
! 70:
! 71: $s = $euc_jp;
! 72: $s = mb_convert_encoding($s, 'JIS', $a);
! 73: print("JIS: ".base64_encode($s)."\n"); // JIS
! 74:
! 75:
! 76: // Using Detect Order
! 77: echo "== DETECT ORDER ==\n";
! 78:
! 79: $s = $jis;
! 80: $s = mb_convert_encoding($s, 'EUC-JP', 'auto');
! 81: print("EUC-JP: $s\n"); // EUC-JP
! 82:
! 83: $s = $euc_jp;
! 84: $s = mb_convert_encoding($s, 'SJIS', 'auto');
! 85: print("SJIS: ".base64_encode($s)."\n"); // SJIS
! 86:
! 87: $s = $euc_jp;
! 88: $s = mb_convert_encoding($s, 'JIS', 'auto');
! 89: print("JIS: ".base64_encode($s)."\n"); // JIS
! 90:
! 91:
! 92: // Invalid(?) Parameters
! 93: echo "== INVALID PARAMETER ==\n";
! 94:
! 95: $s = mb_convert_encoding(1234, 'EUC-JP');
! 96: print("INT: $s\n"); // EUC-JP
! 97:
! 98: $s = mb_convert_encoding('', 'EUC-JP');
! 99: print("EUC-JP: $s\n"); // SJIS
! 100:
! 101: $s = $euc_jp;
! 102: $s = mb_convert_encoding($s, 'BAD');
! 103: print("BAD: $s\n"); // BAD
! 104:
! 105: $s = $euc_jp;
! 106: $s = mb_convert_encoding($s);
! 107: print("MP: $s\n"); // Missing parameter
! 108:
! 109:
! 110: ?>
! 111:
! 112: --EXPECT--
! 113: == BASIC TEST ==
! 114: EUC-JP: 日本語テキストです。0123456789。
! 115: EUC-JP: 日本語テキストです。0123456789。
! 116: SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==
! 117: JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==
! 118: == STRING ENCODING LIST ==
! 119: EUC-JP: 日本語テキストです。0123456789。
! 120: SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==
! 121: JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==
! 122: == ARRAY ENCODING LIST ==
! 123: EUC-JP: 日本語テキストです。0123456789。
! 124: SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==
! 125: JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==
! 126: == DETECT ORDER ==
! 127: EUC-JP: 日本語テキストです。0123456789。
! 128: SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==
! 129: JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==
! 130: == INVALID PARAMETER ==
! 131: INT: 1234
! 132: EUC-JP:
! 133: ERR: Warning
! 134: BAD:
! 135: ERR: Warning
! 136: MP:
! 137:
! 138:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>