mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00

Given that ICU is a set of lively developed libraries, that ICU 50.1 has been released on 2012-11-05, and PHP 7.4 is scheduled to be released seven years after it, we consider it appropriate to ditch these legacy versions. Particularly, that would be a reasonable groundwork to implement part two of the “Deprecate and remove INTL_IDNA_VARIANT_2003” RFC[1], namely to default idn_to_ascii()'s and idn_to_utf8()'s $variant parameter to INTL_IDNA_VARIANT_UTS46, which is not defined in ICU < 4.6. See also the related discussion on internals@[2]. [1] <https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003> [2] <http://news.php.net/php.internals/101626>ff
49 lines
1.6 KiB
PHP
49 lines
1.6 KiB
PHP
--TEST--
|
|
IntlRuleBasedBreakIterator::__construct(): arg errors
|
|
--SKIPIF--
|
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
--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
|