mirror of
https://github.com/php/php-src.git
synced 2024-09-23 02:47:26 +00:00
fef879a2d6
PHP requires boolean typehints to be written "bool" and disallows
"boolean" as an alias. This changes the error messages to match
the actual type name and avoids confusing messages like "must be
of type boolean, boolean given".
This a followup to ce1d69a1f6
, which
implements the same change for integer->int.
51 lines
1.7 KiB
PHP
51 lines
1.7 KiB
PHP
--TEST--
|
|
IntlRuleBasedBreakIterator::__construct(): arg errors
|
|
--SKIPIF--
|
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU >= 4.8 only'; ?>
|
|
--FILE--
|
|
<?php
|
|
ini_set("intl.error_level", E_WARNING);
|
|
|
|
function print_exception($e) {
|
|
echo "\nException: " . $e->getMessage() . " in " . $e->getFile() . " on line " . $e->getLine() . "\n";
|
|
}
|
|
|
|
//missing ; at the end:
|
|
try {
|
|
var_dump(new IntlRuleBasedBreakIterator('[\p{Letter}\uFFFD]+;[:number:]+'));
|
|
} catch (IntlException $e) {
|
|
print_exception($e);
|
|
}
|
|
try {
|
|
var_dump(new IntlRuleBasedBreakIterator());
|
|
} catch (TypeError $e) {
|
|
print_exception($e);
|
|
}
|
|
try {
|
|
var_dump(new IntlRuleBasedBreakIterator(1,2,3));
|
|
} catch (TypeError $e) {
|
|
print_exception($e);
|
|
}
|
|
try {
|
|
var_dump(new IntlRuleBasedBreakIterator('[\p{Letter}\uFFFD]+;[:number:]+;', array()));
|
|
} catch (TypeError $e) {
|
|
print_exception($e);
|
|
}
|
|
try {
|
|
var_dump(new IntlRuleBasedBreakIterator('[\p{Letter}\uFFFD]+;[:number:]+;', true));
|
|
} catch (IntlException $e) {
|
|
print_exception($e);
|
|
}
|
|
--EXPECTF--
|
|
|
|
Exception: IntlRuleBasedBreakIterator::__construct(): rbbi_create_instance: unable to create RuleBasedBreakIterator from rules (parse error on line 1, offset 31) in %s on line %d
|
|
|
|
Exception: IntlRuleBasedBreakIterator::__construct() expects at least 1 parameter, 0 given in %s on line %d
|
|
|
|
Exception: IntlRuleBasedBreakIterator::__construct() expects at most 2 parameters, 3 given in %s on line %d
|
|
|
|
Exception: IntlRuleBasedBreakIterator::__construct() expects parameter 2 to be bool, array given in %s on line %d
|
|
|
|
Exception: IntlRuleBasedBreakIterator::__construct(): rbbi_create_instance: unable to create instance from compiled rules in %s on line %d
|