mirror of
https://github.com/php/php-src.git
synced 2024-12-15 21:05:51 +08:00
162 lines
3.5 KiB
PHP
162 lines
3.5 KiB
PHP
--TEST--
|
|
Test setlocale() function : usage variations - Setting system locale as empty string
|
|
--SKIPIF--
|
|
<?php
|
|
if (substr(PHP_OS, 0, 3) == 'WIN') {
|
|
die('skip Not valid for windows');
|
|
}
|
|
if (setlocale(LC_ALL,'en_AU.utf8') === false || setlocale(LC_ALL,'en_US.utf8') === false) {
|
|
die('skip en_AU.utf8/en_US.utf8 locales not available');
|
|
}
|
|
?>
|
|
--ENV--
|
|
LC_ALL=en_US.utf8;
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : string setlocale (int $category , string $locale [,string $..] )
|
|
* : string setlocale(int $category , array $locale);
|
|
* Description: Sets locale information.Returns the new current locale , or FALSE
|
|
* if locale functinality is not implemented in this platform.
|
|
* Source code: ext/standard/string.c
|
|
*/
|
|
|
|
/* If locale is empty string "", the locale names will be set from the values of environment variables with the same names as from ENV */
|
|
|
|
echo "*** Testing setlocale() : usage variations - setting system locale = \"\" ***\n";
|
|
|
|
//initially setting the locale
|
|
setlocale(LC_ALL,'en_AU.utf8');
|
|
|
|
echo "Locale info, before setting the locale\n";
|
|
|
|
//returns current locale,before executing setlocale() .
|
|
$locale_info_before = localeconv();
|
|
|
|
var_dump($locale_info_before);
|
|
|
|
//Testing setlocale() by giving locale = null
|
|
echo "Setting system locale, category = LC_ALL and locale = \"\"\n";
|
|
setlocale(LC_ALL, "");
|
|
|
|
echo "Locale info, after setting the locale\n";
|
|
|
|
//Returns Current locale,after executing setlocale().
|
|
$locale_info_after = localeconv();
|
|
|
|
var_dump($locale_info_after);
|
|
|
|
echo "Checking new locale in the system, Expected : the locale names will be set from the values of environment variables\n";
|
|
echo "Test ";
|
|
if($locale_info_before != $locale_info_after){
|
|
echo "PASSED.";
|
|
} else {
|
|
echo "FAILED.";
|
|
}
|
|
|
|
echo "\nDone\n";
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing setlocale() : usage variations - setting system locale = "" ***
|
|
Locale info, before setting the locale
|
|
array(18) {
|
|
["decimal_point"]=>
|
|
string(1) "."
|
|
["thousands_sep"]=>
|
|
string(1) ","
|
|
["int_curr_symbol"]=>
|
|
string(4) "AUD "
|
|
["currency_symbol"]=>
|
|
string(1) "$"
|
|
["mon_decimal_point"]=>
|
|
string(1) "."
|
|
["mon_thousands_sep"]=>
|
|
string(1) ","
|
|
["positive_sign"]=>
|
|
string(0) ""
|
|
["negative_sign"]=>
|
|
string(1) "-"
|
|
["int_frac_digits"]=>
|
|
int(2)
|
|
["frac_digits"]=>
|
|
int(2)
|
|
["p_cs_precedes"]=>
|
|
int(1)
|
|
["p_sep_by_space"]=>
|
|
int(0)
|
|
["n_cs_precedes"]=>
|
|
int(1)
|
|
["n_sep_by_space"]=>
|
|
int(0)
|
|
["p_sign_posn"]=>
|
|
int(1)
|
|
["n_sign_posn"]=>
|
|
int(1)
|
|
["grouping"]=>
|
|
array(2) {
|
|
[0]=>
|
|
int(3)
|
|
[1]=>
|
|
int(3)
|
|
}
|
|
["mon_grouping"]=>
|
|
array(2) {
|
|
[0]=>
|
|
int(3)
|
|
[1]=>
|
|
int(3)
|
|
}
|
|
}
|
|
Setting system locale, category = LC_ALL and locale = ""
|
|
Locale info, after setting the locale
|
|
array(18) {
|
|
["decimal_point"]=>
|
|
string(1) "."
|
|
["thousands_sep"]=>
|
|
string(1) ","
|
|
["int_curr_symbol"]=>
|
|
string(4) "USD "
|
|
["currency_symbol"]=>
|
|
string(1) "$"
|
|
["mon_decimal_point"]=>
|
|
string(1) "."
|
|
["mon_thousands_sep"]=>
|
|
string(1) ","
|
|
["positive_sign"]=>
|
|
string(0) ""
|
|
["negative_sign"]=>
|
|
string(1) "-"
|
|
["int_frac_digits"]=>
|
|
int(2)
|
|
["frac_digits"]=>
|
|
int(2)
|
|
["p_cs_precedes"]=>
|
|
int(1)
|
|
["p_sep_by_space"]=>
|
|
int(0)
|
|
["n_cs_precedes"]=>
|
|
int(1)
|
|
["n_sep_by_space"]=>
|
|
int(0)
|
|
["p_sign_posn"]=>
|
|
int(1)
|
|
["n_sign_posn"]=>
|
|
int(1)
|
|
["grouping"]=>
|
|
array(2) {
|
|
[0]=>
|
|
int(3)
|
|
[1]=>
|
|
int(3)
|
|
}
|
|
["mon_grouping"]=>
|
|
array(2) {
|
|
[0]=>
|
|
int(3)
|
|
[1]=>
|
|
int(3)
|
|
}
|
|
}
|
|
Checking new locale in the system, Expected : the locale names will be set from the values of environment variables
|
|
Test PASSED.
|
|
Done
|