Modified locale tests for issue 1063 (#1363)
This commit is contained in:
parent
fe3c6ee2cb
commit
00470ccd12
|
@ -48,22 +48,25 @@ $locale = ($_SERVER['argv'][2] ?? '');
|
||||||
|
|
||||||
echo "**Begin**" . PHP_EOL;
|
echo "**Begin**" . PHP_EOL;
|
||||||
|
|
||||||
// Assuming LC_ALL is 'en_US.UTF-8', so is LC_CTYPE, except in PHP 8 (TODO)
|
// Assuming LC_ALL is 'en_US.UTF-8', but default LC_CTYPE and LC_MONETARY vary in various
|
||||||
// But default LC_MONETARY varies
|
// platforms and PHP versions, so only check when $setLocaleInfo is 2
|
||||||
$ctype = (PHP_MAJOR_VERSION == 8 && $setLocaleInfo == 0) ? 'C' : 'en_US.UTF-8';
|
|
||||||
switch ($setLocaleInfo) {
|
switch ($setLocaleInfo) {
|
||||||
case 0:
|
case 0:
|
||||||
case 1:
|
case 1:
|
||||||
$m = 'C'; $symbol = ''; $sep = '';
|
$symbol = ''; $sep = '';
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$m = 'en_US.UTF-8'; $symbol = '$'; $sep = ',';
|
$symbol = '$'; $sep = ',';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
die("Unexpected $setLocaleInfo\n");
|
die("Unexpected $setLocaleInfo\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($setLocaleInfo == 2) {
|
||||||
|
$ctype = 'en_US.UTF-8';
|
||||||
|
$m = 'en_US.UTF-8';
|
||||||
|
|
||||||
$m1 = setlocale(LC_MONETARY, 0);
|
$m1 = setlocale(LC_MONETARY, 0);
|
||||||
if ($m !== $m1) {
|
if ($m !== $m1) {
|
||||||
echo "Unexpected LC_MONETARY: $m1" . PHP_EOL;
|
echo "Unexpected LC_MONETARY: $m1" . PHP_EOL;
|
||||||
|
@ -73,6 +76,7 @@ if ($ctype !== $c1) {
|
||||||
echo "Unexpected LC_CTYPE: $c1" . PHP_EOL;
|
echo "Unexpected LC_CTYPE: $c1" . PHP_EOL;
|
||||||
echo "LC_NUMERIC for $setLocaleInfo: " . setlocale(LC_NUMERIC, 0) . PHP_EOL;
|
echo "LC_NUMERIC for $setLocaleInfo: " . setlocale(LC_NUMERIC, 0) . PHP_EOL;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Set a different locale, if the input is not empty
|
// Set a different locale, if the input is not empty
|
||||||
$english = true;
|
$english = true;
|
||||||
|
|
|
@ -53,22 +53,25 @@ $locale = ($_SERVER['argv'][2] ?? '');
|
||||||
|
|
||||||
echo "**Begin**" . PHP_EOL;
|
echo "**Begin**" . PHP_EOL;
|
||||||
|
|
||||||
// Assuming LC_ALL is 'en_US.UTF-8', so is LC_CTYPE, except in PHP 8 (TODO)
|
// Assuming LC_ALL is 'en_US.UTF-8', but default LC_CTYPE and LC_MONETARY vary in various
|
||||||
// But default LC_MONETARY varies
|
// platforms and PHP versions, so only check when $setLocaleInfo is 2
|
||||||
$ctype = (PHP_MAJOR_VERSION == 8 && $setLocaleInfo == 0) ? 'C' : 'en_US.UTF-8';
|
|
||||||
switch ($setLocaleInfo) {
|
switch ($setLocaleInfo) {
|
||||||
case 0:
|
case 0:
|
||||||
case 1:
|
case 1:
|
||||||
$m = 'C'; $symbol = ''; $sep = '';
|
$symbol = ''; $sep = '';
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$m = 'en_US.UTF-8'; $symbol = '$'; $sep = ',';
|
$symbol = '$'; $sep = ',';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fatalError("Unexpected $setLocaleInfo\n");
|
fatalError("Unexpected $setLocaleInfo\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($setLocaleInfo == 2) {
|
||||||
|
$ctype = 'en_US.UTF-8';
|
||||||
|
$m = 'en_US.UTF-8';
|
||||||
|
|
||||||
$m1 = setlocale(LC_MONETARY, 0);
|
$m1 = setlocale(LC_MONETARY, 0);
|
||||||
if ($m !== $m1) {
|
if ($m !== $m1) {
|
||||||
echo "Unexpected LC_MONETARY: $m1" . PHP_EOL;
|
echo "Unexpected LC_MONETARY: $m1" . PHP_EOL;
|
||||||
|
@ -78,6 +81,7 @@ if ($ctype !== $c1) {
|
||||||
echo "Unexpected LC_CTYPE: $c1" . PHP_EOL;
|
echo "Unexpected LC_CTYPE: $c1" . PHP_EOL;
|
||||||
echo "LC_NUMERIC for $setLocaleInfo: " . setlocale(LC_NUMERIC, 0) . PHP_EOL;
|
echo "LC_NUMERIC for $setLocaleInfo: " . setlocale(LC_NUMERIC, 0) . PHP_EOL;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Set a different locale, if the input is not empty
|
// Set a different locale, if the input is not empty
|
||||||
$english = true;
|
$english = true;
|
||||||
|
|
Loading…
Reference in a new issue