mirror of
https://github.com/php/php-src.git
synced 2025-08-20 01:14:28 +02:00
Fixed bug #70484 selectordinal doesn't work with named parameters
This commit is contained in:
parent
72c9324d70
commit
22336db97f
2 changed files with 101 additions and 0 deletions
|
@ -264,6 +264,10 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||||
type = Formattable::kDouble;
|
type = Formattable::kDouble;
|
||||||
} else if (argType == UMSGPAT_ARG_TYPE_SELECT) {
|
} else if (argType == UMSGPAT_ARG_TYPE_SELECT) {
|
||||||
type = Formattable::kString;
|
type = Formattable::kString;
|
||||||
|
#if U_ICU_VERSION_MAJOR_NUM >= 50
|
||||||
|
} else if (argType == UMSGPAT_ARG_TYPE_SELECTORDINAL) {
|
||||||
|
type = Formattable::kDouble;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
type = Formattable::kString;
|
type = Formattable::kString;
|
||||||
}
|
}
|
||||||
|
|
97
ext/intl/tests/msgfmt_bug70484.phpt
Normal file
97
ext/intl/tests/msgfmt_bug70484.phpt
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #70484 selectordinal doesn't work with named parameters
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
if (!extension_loaded('intl'))
|
||||||
|
die('skip intl extension not enabled');
|
||||||
|
if (version_compare(INTL_ICU_VERSION, '5.0') < 0)
|
||||||
|
die('skip for ICU 5.0+');
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$locale = array("de", "fr", "en", "ru",);
|
||||||
|
|
||||||
|
$data = array(42, 42.42, 2147483643, 2147483643.12345, 5);
|
||||||
|
|
||||||
|
foreach ($locale as $lc) {
|
||||||
|
echo "$lc string key\n";
|
||||||
|
$m = new MessageFormatter($lc, "{n, selectordinal, =5 {five} zero {#-zero} one {#-one} two {#-two} few {#-few} many {#-many} other {#-other}}");
|
||||||
|
foreach ($data as $i) {
|
||||||
|
var_dump($m->format(array("n" => $i)));
|
||||||
|
if ($m->getErrorCode()) {
|
||||||
|
echo "$lc $i ", $m->getErrorMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "\n";
|
||||||
|
|
||||||
|
echo "$lc numeric key\n";
|
||||||
|
$m = new MessageFormatter($lc, "{0, selectordinal, =5 {five} zero {#-zero} one {#-one} two {#-two} few {#-few} many {#-many} other {#-other}}");
|
||||||
|
foreach ($data as $i) {
|
||||||
|
var_dump($m->format(array($i)));
|
||||||
|
if ($m->getErrorCode()) {
|
||||||
|
echo "$lc $i ", $m->getErrorMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
==DONE==
|
||||||
|
--EXPECT--
|
||||||
|
de string key
|
||||||
|
string(8) "42-other"
|
||||||
|
string(11) "42,42-other"
|
||||||
|
string(19) "2.147.483.643-other"
|
||||||
|
string(23) "2.147.483.643,123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
de numeric key
|
||||||
|
string(8) "42-other"
|
||||||
|
string(11) "42,42-other"
|
||||||
|
string(19) "2.147.483.643-other"
|
||||||
|
string(23) "2.147.483.643,123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
fr string key
|
||||||
|
string(8) "42-other"
|
||||||
|
string(11) "42,42-other"
|
||||||
|
string(22) "2 147 483 643-other"
|
||||||
|
string(26) "2 147 483 643,123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
fr numeric key
|
||||||
|
string(8) "42-other"
|
||||||
|
string(11) "42,42-other"
|
||||||
|
string(22) "2 147 483 643-other"
|
||||||
|
string(26) "2 147 483 643,123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
en string key
|
||||||
|
string(6) "42-two"
|
||||||
|
string(11) "42.42-other"
|
||||||
|
string(17) "2,147,483,643-few"
|
||||||
|
string(23) "2,147,483,643.123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
en numeric key
|
||||||
|
string(6) "42-two"
|
||||||
|
string(11) "42.42-other"
|
||||||
|
string(17) "2,147,483,643-few"
|
||||||
|
string(23) "2,147,483,643.123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
ru string key
|
||||||
|
string(8) "42-other"
|
||||||
|
string(11) "42,42-other"
|
||||||
|
string(22) "2 147 483 643-other"
|
||||||
|
string(26) "2 147 483 643,123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
ru numeric key
|
||||||
|
string(8) "42-other"
|
||||||
|
string(11) "42,42-other"
|
||||||
|
string(22) "2 147 483 643-other"
|
||||||
|
string(26) "2 147 483 643,123-other"
|
||||||
|
string(4) "five"
|
||||||
|
|
||||||
|
==DONE==
|
Loading…
Add table
Add a link
Reference in a new issue