diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2018-06-13 23:47:20 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2018-06-13 23:47:20 +0200 |
commit | e77077edebfb8510f5659947bbb61636549172c9 (patch) | |
tree | 4abaea69aa0440375f889c6166e55521f336d240 | |
parent | ea592e6b6c43b7c5ebedf63254b8088f741e276c (diff) | |
download | php-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.cpp | 2 | ||||
-rw-r--r-- | ext/intl/tests/breakiter_factories_basic.phpt | 16 | ||||
-rw-r--r-- | ext/intl/tests/breakiter_factories_error.phpt | 8 |
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 |