diff options
Diffstat (limited to 'ext/intl/tests/formatter_fail.phpt')
-rw-r--r-- | ext/intl/tests/formatter_fail.phpt | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/ext/intl/tests/formatter_fail.phpt b/ext/intl/tests/formatter_fail.phpt new file mode 100644 index 0000000..295f011 --- /dev/null +++ b/ext/intl/tests/formatter_fail.phpt @@ -0,0 +1,79 @@ +--TEST-- +numfmt creation failures +--SKIPIF-- +<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> +--FILE-- +<?php + +function err($fmt) { + if(!$fmt) { + echo var_export(intl_get_error_message(), true)."\n"; + } +} + +function crt($t, $l, $s) { + switch(true) { + case $t == "O": + return new NumberFormatter($l, $s); + break; + case $t == "C": + return NumberFormatter::create($l, $s); + break; + case $t == "P": + return numfmt_create($l, $s); + break; + } +} + +$args = array( + array(null, null), + array("whatever", 1234567), + array(array(), array()), + array("en", -1), + array("en_US", NumberFormatter::PATTERN_RULEBASED), +); + +$fmt = new NumberFormatter(); +err($fmt); +$fmt = numfmt_create(); +err($fmt); +$fmt = NumberFormatter::create(); +err($fmt); + +foreach($args as $arg) { + $fmt = crt("O", $arg[0], $arg[1]); + err($fmt); + $fmt = crt("C", $arg[0], $arg[1]); + err($fmt); + $fmt = crt("P", $arg[0], $arg[1]); + err($fmt); +} + +?> +--EXPECTF-- +Warning: NumberFormatter::__construct() expects at least 2 parameters, 0 given in %s on line %d +'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR' + +Warning: numfmt_create() expects at least 2 parameters, 0 given in %s on line %d +'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR' + +Warning: NumberFormatter::create() expects at least 2 parameters, 0 given in %s on line %d +'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR' +'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR' +'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR' +'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR' + +Warning: NumberFormatter::__construct() expects parameter 1 to be string, array given in %s on line %d +'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR' + +Warning: NumberFormatter::create() expects parameter 1 to be string, array given in %s on line %d +'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR' + +Warning: numfmt_create() expects parameter 1 to be string, array given in %s on line %d +'numfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR' +'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR' +'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR' +'numfmt_create: number formatter creation failed: U_UNSUPPORTED_ERROR' +'numfmt_create: number formatter creation failed: U_MEMORY_ALLOCATION_ERROR' +'numfmt_create: number formatter creation failed: U_MEMORY_ALLOCATION_ERROR' +'numfmt_create: number formatter creation failed: U_MEMORY_ALLOCATION_ERROR' |