summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2018-06-13 23:47:20 +0200
committerNikita Popov <nikita.ppv@gmail.com>2018-06-13 23:47:20 +0200
commite77077edebfb8510f5659947bbb61636549172c9 (patch)
tree4abaea69aa0440375f889c6166e55521f336d240
parentea592e6b6c43b7c5ebedf63254b8088f741e276c (diff)
downloadphp-git-e77077edebfb8510f5659947bbb61636549172c9.tar.gz
Make $locale parameter to BreakIterator ctors optional
It's documented as such and already accepts null.
-rw-r--r--ext/intl/breakiterator/breakiterator_methods.cpp2
-rw-r--r--ext/intl/tests/breakiter_factories_basic.phpt16
-rw-r--r--ext/intl/tests/breakiter_factories_error.phpt8
3 files changed, 10 insertions, 16 deletions
diff --git a/ext/intl/breakiterator/breakiterator_methods.cpp b/ext/intl/breakiterator/breakiterator_methods.cpp
index 0363198f06..399bafef9f 100644
--- a/ext/intl/breakiterator/breakiterator_methods.cpp
+++ b/ext/intl/breakiterator/breakiterator_methods.cpp
@@ -51,7 +51,7 @@ static void _breakiter_factory(const char *func_name,
UErrorCode status = UErrorCode();
intl_error_reset(NULL);
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "s!",
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s!",
&locale_str, &dummy) == FAILURE) {
spprintf(&msg, 0, "%s: bad arguments", func_name);
intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR, msg, 1);
diff --git a/ext/intl/tests/breakiter_factories_basic.phpt b/ext/intl/tests/breakiter_factories_basic.phpt
index dcfcedef0c..5c902638a3 100644
--- a/ext/intl/tests/breakiter_factories_basic.phpt
+++ b/ext/intl/tests/breakiter_factories_basic.phpt
@@ -12,35 +12,29 @@ ini_set("intl.default_locale", "ja");
$m = array('createWordInstance', 'createLineInstance', 'createCharacterInstance',
'createSentenceInstance', 'createTitleInstance');
-$t = 'Frase 1... Frase 2'.
+$t = 'Frase 1... Frase 2';
-$o1 = $o2 = null;
foreach ($m as $method) {
echo "===== $method =====\n";
- $o1 = call_user_func(array('IntlBreakIterator', $method), 'ja');
- var_dump($o1 == $o2);
- $o2 = call_user_func(array('IntlBreakIterator', $method), NULL);
- var_dump($o1 == $o2);
+ $o1 = IntlBreakIterator::$method('ja');
+ $o2 = IntlBreakIterator::$method(NULL);
+ $o3 = IntlBreakIterator::$method();
+ var_dump($o1 == $o2 && $o2 == $o3);
echo "\n";
}
--EXPECT--
===== createWordInstance =====
-bool(false)
bool(true)
===== createLineInstance =====
-bool(false)
bool(true)
===== createCharacterInstance =====
-bool(false)
bool(true)
===== createSentenceInstance =====
-bool(false)
bool(true)
===== createTitleInstance =====
-bool(false)
bool(true)
diff --git a/ext/intl/tests/breakiter_factories_error.phpt b/ext/intl/tests/breakiter_factories_error.phpt
index c35339f7a0..2fd48f6650 100644
--- a/ext/intl/tests/breakiter_factories_error.phpt
+++ b/ext/intl/tests/breakiter_factories_error.phpt
@@ -22,22 +22,22 @@ Warning: IntlBreakIterator::createWordInstance() expects parameter 1 to be strin
Warning: IntlBreakIterator::createWordInstance(): breakiter_create_word_instance: bad arguments in %s on line %d
NULL
-Warning: IntlBreakIterator::createSentenceInstance() expects exactly 1 parameter, 2 given in %s on line %d
+Warning: IntlBreakIterator::createSentenceInstance() expects at most 1 parameter, 2 given in %s on line %d
Warning: IntlBreakIterator::createSentenceInstance(): breakiter_create_sentence_instance: bad arguments in %s on line %d
NULL
-Warning: IntlBreakIterator::createCharacterInstance() expects exactly 1 parameter, 2 given in %s on line %d
+Warning: IntlBreakIterator::createCharacterInstance() expects at most 1 parameter, 2 given in %s on line %d
Warning: IntlBreakIterator::createCharacterInstance(): breakiter_create_character_instance: bad arguments in %s on line %d
NULL
-Warning: IntlBreakIterator::createTitleInstance() expects exactly 1 parameter, 2 given in %s on line %d
+Warning: IntlBreakIterator::createTitleInstance() expects at most 1 parameter, 2 given in %s on line %d
Warning: IntlBreakIterator::createTitleInstance(): breakiter_create_title_instance: bad arguments in %s on line %d
NULL
-Warning: IntlBreakIterator::createLineInstance() expects exactly 1 parameter, 2 given in %s on line %d
+Warning: IntlBreakIterator::createLineInstance() expects at most 1 parameter, 2 given in %s on line %d
Warning: IntlBreakIterator::createLineInstance(): breakiter_create_line_instance: bad arguments in %s on line %d
NULL