1--TEST-- 2mb_http_output() 3--SKIPIF-- 4<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> 5--FILE-- 6<?php 7//TODO: Add more encoding. Wrong parameter type test. 8ini_set('include_path', __DIR__); 9include_once('common.inc'); 10 11// Set HTTP output encoding to ASCII 12$r = mb_http_output('ASCII'); 13($r === TRUE) ? print "OK_ASCII_SET\n" : print "NG_ASCII_SET\n"; 14$enc = mb_http_output(); 15print "$enc\n"; 16 17// Set HTTP output encoding to SJIS 18$r = mb_http_output('SJIS'); 19($r === TRUE) ? print "OK_SJIS_SET\n" : print "NG_SJIS_SET\n"; 20$enc = mb_http_output(); 21print "$enc\n"; 22 23// Set HTTP output encoding to JIS 24$r = mb_http_output('JIS'); 25($r === TRUE) ? print "OK_JIS_SET\n" : print "NG_JIS_SET\n"; 26$enc = mb_http_output(); 27print "$enc\n"; 28 29// Set HTTP output encoding to UTF8 30$r = mb_http_output('UTF-8'); 31($r === TRUE) ? print "OK_UTF-8_SET\n" : print "NG_UTF-8_SET\n"; 32$enc = mb_http_output(); 33print "$enc\n"; 34 35// Set HTTP output encoding to EUC-JP 36$r = mb_http_output('EUC-JP'); 37($r === TRUE) ? print "OK_EUC-JP_SET\n" : print "NG_EUC-JP_SET\n"; 38$enc = mb_http_output(); 39print "$enc\n"; 40 41// Invalid parameters 42print "== INVALID PARAMETER ==\n"; 43 44// Note: Bad string raise ValueError. Bad Type raise Notice (Type Conversion) and ValueError 45try { 46 $r = mb_http_output('BAD_NAME'); 47 print 'NG_BAD_SET' . \PHP_EOL; 48} catch (\ValueError $e) { 49 echo $e->getMessage() . \PHP_EOL; 50} 51$enc = mb_http_output(); 52print "$enc\n"; 53 54?> 55--EXPECT-- 56OK_ASCII_SET 57ASCII 58OK_SJIS_SET 59SJIS 60OK_JIS_SET 61JIS 62OK_UTF-8_SET 63UTF-8 64OK_EUC-JP_SET 65EUC-JP 66== INVALID PARAMETER == 67mb_http_output(): Argument #1 ($encoding) must be a valid encoding, "BAD_NAME" given 68EUC-JP 69