formatter_fail.phpt 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. --TEST--
  2. numfmt creation failures
  3. --SKIPIF--
  4. <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
  5. --FILE--
  6. <?php
  7. function err($fmt) {
  8. if(!$fmt) {
  9. echo var_export(intl_get_error_message(), true)."\n";
  10. }
  11. }
  12. function crt($t, $l, $s) {
  13. switch(true) {
  14. case $t == "O":
  15. return new NumberFormatter($l, $s);
  16. break;
  17. case $t == "C":
  18. return NumberFormatter::create($l, $s);
  19. break;
  20. case $t == "P":
  21. return numfmt_create($l, $s);
  22. break;
  23. }
  24. }
  25. $args = array(
  26. array(null, null),
  27. array("whatever", 1234567),
  28. array(array(), array()),
  29. array("en", -1),
  30. array("en_US", NumberFormatter::PATTERN_RULEBASED),
  31. );
  32. $fmt = new NumberFormatter();
  33. err($fmt);
  34. $fmt = numfmt_create();
  35. err($fmt);
  36. $fmt = NumberFormatter::create();
  37. err($fmt);
  38. foreach($args as $arg) {
  39. $fmt = crt("O", $arg[0], $arg[1]);
  40. err($fmt);
  41. $fmt = crt("C", $arg[0], $arg[1]);
  42. err($fmt);
  43. $fmt = crt("P", $arg[0], $arg[1]);
  44. err($fmt);
  45. }
  46. ?>
  47. --EXPECTF--
  48. Warning: NumberFormatter::__construct() expects at least 2 parameters, 0 given in %s on line %d
  49. 'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  50. Warning: numfmt_create() expects at least 2 parameters, 0 given in %s on line %d
  51. 'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  52. Warning: NumberFormatter::create() expects at least 2 parameters, 0 given in %s on line %d
  53. 'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  54. 'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR'
  55. 'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR'
  56. 'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR'
  57. Warning: NumberFormatter::__construct() expects parameter 1 to be string, array given in %s on line %d
  58. 'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  59. Warning: NumberFormatter::create() expects parameter 1 to be string, array given in %s on line %d
  60. 'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  61. Warning: numfmt_create() expects parameter 1 to be string, array given in %s on line %d
  62. 'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
  63. 'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR'
  64. 'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR'
  65. 'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR'
  66. 'numfmt_create: number formatter creation failed: U_MEMORY_ALLOCATION_ERROR'
  67. 'numfmt_create: number formatter creation failed: U_MEMORY_ALLOCATION_ERROR'
  68. 'numfmt_create: number formatter creation failed: U_MEMORY_ALLOCATION_ERROR'