mb_strimwidth.phpt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. --TEST--
  2. mb_strimwidth()
  3. --SKIPIF--
  4. <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
  5. --INI--
  6. output_handler=
  7. --FILE--
  8. <?php
  9. // TODO: Add more encoding
  10. //$debug = true;
  11. ini_set('include_path', dirname(__FILE__));
  12. include_once('common.inc');
  13. // EUC-JP
  14. $euc_jp = '0123この文字列は日本語です。EUC-JPを使っています。日本語は面倒臭い。';
  15. print "String width: ".mb_strwidth($euc_jp,'EUC-JP')."\n";
  16. print "1: ". mb_strimwidth($euc_jp, 0, 15,'...','EUC-JP') . "\n";
  17. print "2: ". mb_strimwidth($euc_jp, 0, 100,'...','EUC-JP') . "\n";
  18. print "3: ". mb_strimwidth($euc_jp, 15, 100,'...','EUC-JP') . "\n";
  19. print "4: ". mb_strimwidth($euc_jp, -30, 5,'...','EUC-JP') . "\n";
  20. print "5: ". mb_strimwidth($euc_jp, 38, 5,'...','EUC-JP') . "\n";
  21. print "6: ". mb_strimwidth($euc_jp, 38, -25,'...','EUC-JP') . "\n";
  22. print "7: ". mb_strimwidth($euc_jp, -30, -25,'...','EUC-JP') . "\n";
  23. $str = mb_strimwidth($euc_jp, 0, -100,'...','EUC-JP');
  24. ($str === FALSE) ? print "10 OK\n" : print "NG: $str\n";
  25. $str = mb_strimwidth($euc_jp, 100, 10,'...','EUC-JP');
  26. ($str === FALSE) ? print "11 OK\n" : print "NG: $str\n";
  27. $str = mb_strimwidth($euc_jp, -100, 10,'...','EUC-JP');
  28. ($str === FALSE) ? print "12 OK\n" : print "NG: $str\n";
  29. $str = mb_strimwidth($euc_jp, -10, -12,'...','EUC-JP');
  30. ($str === FALSE) ? print "13 OK\n" : print "NG: $str\n";
  31. ?>
  32. --EXPECT--
  33. String width: 68
  34. 1: 0123この文字...
  35. 2: 0123この文字列は日本語です。EUC-JPを使っています。日本語は面倒臭い。
  36. 3: 。EUC-JPを使っています。日本語は面倒臭い。
  37. 4: 。
  38. 5: 。
  39. 6: 。
  40. 7: 。
  41. ERR: Warning
  42. 10 OK
  43. ERR: Warning
  44. 11 OK
  45. ERR: Warning
  46. 12 OK
  47. ERR: Warning
  48. 13 OK