Annotation of embedaddon/php/ext/mbstring/tests/mb_strlen.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: mb_strlen()
                      3: --SKIPIF--
                      4: <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
                      5: --INI--
                      6: mbstring.func_overload=0
                      7: --FILE--
                      8: <?php
                      9: // TODO: Add more encodings
                     10: 
                     11: //$debug=true;
                     12: ini_set('include_path', dirname(__FILE__));
                     13: include_once('common.inc');
                     14: 
                     15: // restore detect_order to 'auto'
                     16: mb_detect_order('auto');
                     17: 
                     18: // Test string
                     19: $euc_jp = '0123この文字列は日本語です。EUC-JPを使っています。0123日本語は面倒臭い。';
                     20: $ascii  = 'abcdefghijklmnopqrstuvwxyz;]=#0123456789';
                     21: 
                     22: // ASCII
                     23: echo "== ASCII ==\n";
                     24: print  mb_strlen($ascii,'ASCII') . "\n";
                     25: print  strlen($ascii) . "\n";
                     26: 
                     27: // EUC-JP
                     28: echo "== EUC-JP ==\n";
                     29: print  mb_strlen($euc_jp,'EUC-JP') . "\n";
                     30: mb_internal_encoding('EUC-JP') or print("mb_internal_encoding() failed\n");
                     31: print  strlen($euc_jp) . "\n";
                     32: 
                     33: // SJIS
                     34: echo "== SJIS ==\n";
                     35: $sjis = mb_convert_encoding($euc_jp, 'SJIS','EUC-JP');
                     36: print  mb_strlen($sjis,'SJIS') . "\n";
                     37: mb_internal_encoding('SJIS') or print("mb_internal_encoding() failed\n");
                     38: print  strlen($sjis) . "\n";
                     39: 
                     40: // JIS
                     41: // Note: either convert_encoding or strlen has problem
                     42: echo "== JIS ==\n";
                     43: $jis = mb_convert_encoding($euc_jp, 'JIS','EUC-JP');
                     44: print  mb_strlen($jis,'JIS') . "\n";
                     45: mb_internal_encoding('JIS')  or print("mb_internal_encoding() failed\n");
                     46: print  strlen($jis) . "\n"; 
                     47: 
                     48: // UTF-8
                     49: // Note: either convert_encoding or strlen has problem
                     50: echo "== UTF-8 ==\n";
                     51: $utf8 = mb_convert_encoding($euc_jp, 'UTF-8','EUC-JP');
                     52: print  mb_strlen($utf8,'UTF-8') . "\n";
                     53: mb_internal_encoding('UTF-8')  or print("mb_internal_encoding() failed\n");
                     54: print  strlen($utf8) . "\n";  
                     55: 
                     56: 
                     57: // Wrong Parameters
                     58: echo "== WRONG PARAMETERS ==\n";
                     59: // Array
                     60: // Note: PHP Warning, strlen() expects parameter 1 to be string, array given
                     61: $r = strlen($t_ary);
                     62: echo $r."\n";
                     63: // Object
                     64: // Note: PHP Warning, strlen() expects parameter 1 to be string, object given
                     65: $r = strlen($t_obj);
                     66: echo $r."\n";
                     67: // Wrong encoding
                     68: mb_internal_encoding('EUC-JP');
                     69: $r = mb_strlen($euc_jp, 'BAD_NAME');
                     70: echo $r."\n";
                     71: 
                     72: 
                     73: 
                     74: 
                     75: ?>
                     76: 
                     77: --EXPECT--
                     78: == ASCII ==
                     79: 40
                     80: 40
                     81: == EUC-JP ==
                     82: 43
                     83: 72
                     84: == SJIS ==
                     85: 43
                     86: 72
                     87: == JIS ==
                     88: 43
                     89: 90
                     90: == UTF-8 ==
                     91: 43
                     92: 101
                     93: == WRONG PARAMETERS ==
                     94: ERR: Warning
                     95: 
                     96: ERR: Warning
                     97: 
                     98: ERR: Warning
                     99: 
                    100: 
                    101: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>