msgfmt_fail.phpt 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. --TEST--
  2. msgfmt creation failures icu <= 4.2
  3. --SKIPIF--
  4. <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
  5. <?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
  6. --FILE--
  7. <?php
  8. function err($fmt) {
  9. if(!$fmt) {
  10. echo var_export(intl_get_error_message(), true)."\n";
  11. }
  12. }
  13. function crt($t, $l, $s) {
  14. switch(true) {
  15. case $t == "O":
  16. return new MessageFormatter($l, $s);
  17. break;
  18. case $t == "C":
  19. return MessageFormatter::create($l, $s);
  20. break;
  21. case $t == "P":
  22. return msgfmt_create($l, $s);
  23. break;
  24. }
  25. }
  26. $args = array(
  27. array(null, null),
  28. array("whatever", "{0,whatever}"),
  29. array(array(), array()),
  30. array("en", "{0,choice}"),
  31. array("fr", "{0,"),
  32. array("en_US", "\xD0"),
  33. );
  34. $fmt = new MessageFormatter();
  35. err($fmt);
  36. $fmt = msgfmt_create();
  37. err($fmt);
  38. $fmt = MessageFormatter::create();
  39. err($fmt);
  40. $fmt = new MessageFormatter('en');
  41. err($fmt);
  42. $fmt = msgfmt_create('en');
  43. err($fmt);
  44. $fmt = MessageFormatter::create('en');
  45. err($fmt);
  46. foreach($args as $arg) {
  47. $fmt = crt("O", $arg[0], $arg[1]);
  48. err($fmt);
  49. $fmt = crt("C", $arg[0], $arg[1]);
  50. err($fmt);
  51. $fmt = crt("P", $arg[0], $arg[1]);
  52. err($fmt);
  53. }
  54. ?>
  55. --EXPECTF--
  56. Warning: MessageFormatter::__construct() expects exactly 2 parameters, 0 given in %s on line %d
  57. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  58. Warning: msgfmt_create() expects exactly 2 parameters, 0 given in %s on line %d
  59. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  60. Warning: MessageFormatter::create() expects exactly 2 parameters, 0 given in %s on line %d
  61. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  62. Warning: MessageFormatter::__construct() expects exactly 2 parameters, 1 given in %s on line %d
  63. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  64. Warning: msgfmt_create() expects exactly 2 parameters, 1 given in %s on line %d
  65. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  66. Warning: MessageFormatter::create() expects exactly 2 parameters, 1 given in %s on line %d
  67. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  68. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  69. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  70. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  71. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  72. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  73. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  74. Warning: MessageFormatter::__construct() expects parameter 1 to be string, array given in %s on line %d
  75. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  76. Warning: MessageFormatter::create() expects parameter 1 to be string, array given in %s on line %d
  77. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  78. Warning: msgfmt_create() expects parameter 1 to be string, array given in %s on line %d
  79. 'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  80. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  81. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  82. 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
  83. 'msgfmt_create: message formatter creation failed: U_UNMATCHED_BRACES'
  84. 'msgfmt_create: message formatter creation failed: U_UNMATCHED_BRACES'
  85. 'msgfmt_create: message formatter creation failed: U_UNMATCHED_BRACES'
  86. 'msgfmt_create: error converting pattern to UTF-16: U_INVALID_CHAR_FOUND'
  87. 'msgfmt_create: error converting pattern to UTF-16: U_INVALID_CHAR_FOUND'
  88. 'msgfmt_create: error converting pattern to UTF-16: U_INVALID_CHAR_FOUND'