1--TEST-- 2Bug #65769 localeconv() broken in TS builds 3--SKIPIF-- 4<?php 5if (substr(PHP_OS, 0, 3) != 'WIN') { 6 die('skip Windows only'); 7} 8if (PHP_WINDOWS_VERSION_MAJOR < 10) { 9 die("skip for Windows 10 and above"); 10} 11?> 12--FILE-- 13<?php 14 15$locales = array('sve', 'french', 'us', 'ru', 'czech', 'serbian'); 16 17foreach ($locales as $locale) { 18 $locale = setlocale(LC_ALL, $locale); 19 $lconv = localeconv(); 20 var_dump( 21 $locale, 22 $lconv['decimal_point'], 23 $lconv['thousands_sep'], 24 $lconv['int_curr_symbol'], 25 $lconv['currency_symbol'], 26 $lconv['mon_decimal_point'], 27 $lconv['mon_thousands_sep'] 28 ); 29 if ($locale === 'Swedish_Sweden.1252') { 30 var_dump(in_array($lconv['mon_thousands_sep'], ['.', '�'])); 31 } 32 echo '++++++++++++++++++++++', "\n"; 33} 34 35?> 36+++DONE+++ 37--EXPECTF-- 38string(19) "Swedish_Sweden.1252" 39string(1) "," 40string(1) "�" 41string(3) "SEK" 42string(2) "kr" 43string(1) "," 44string(1) "%c" 45bool(true) 46++++++++++++++++++++++ 47string(18) "French_France.1252" 48string(1) "," 49string(1) "�" 50string(3) "EUR" 51string(1) "�" 52string(1) "," 53string(1) "�" 54++++++++++++++++++++++ 55string(26) "English_United States.1252" 56string(1) "." 57string(1) "," 58string(3) "USD" 59string(1) "$" 60string(1) "." 61string(1) "," 62++++++++++++++++++++++ 63string(2) "ru" 64string(1) "," 65string(1) "�" 66string(3) "RUB" 67string(1) "?" 68string(1) "," 69string(1) "�" 70++++++++++++++++++++++ 71string(%d) "Czech_Czech%s.1250" 72string(1) "," 73string(1) "�" 74string(3) "CZK" 75string(2) "K�" 76string(1) "," 77string(1) "�" 78++++++++++++++++++++++ 79string(19) "Serbian_Serbia.1250" 80string(1) "," 81string(1) "." 82string(3) "RSD" 83string(3) "RSD" 84string(1) "," 85string(1) "." 86++++++++++++++++++++++ 87+++DONE+++ 88