blob: 128b9472c4d9637b2380cab3f6b167dda5eb2919 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function compare(locale, opt1, opt2) {
if ( locale == opt1 ) {
WScript.Echo("Passed");
} else {
if ( opt2 && locale == opt2 ) {
WScript.Echo("Passed");
} else {
WScript.Echo("Failed - " + locale);
}
}
}
var sample = (1000.234).toLocaleString();
var decimal = ".", thousands = ",";
if (sample == "1.000,234") {
decimal = ",";
thousands = ".";
} else if ( sample == "1000.234" ) {
// we can't be sure whether system locale has thousands char or
// toLocaleString has failed.
if ( (1234567).toLocaleString() == "1234567" ) {
// looks like it is more likely that system locale doesn't have thousands char
// or there is something terribly wrong with toLocaleString implementation
thousands = "";
}
} else if ( sample == "1000,234" ) {
decimal = ",";
thousands = "";
}
WScript.Echo ( "|| 999.9996 -> 1,000 or 1.000" );
compare ( (999.9996).toLocaleString(), "1" + thousands + "000" );
WScript.Echo ( "|| -999.9996 -> -1,000 or -1.000" );
compare ( (-999.9996).toLocaleString(), "-1" + thousands + "000" );
WScript.Echo ( "|| -1999.9996 -> -2,000 or -2.000" );
compare ( (-1999.9996).toLocaleString(), "-2" + thousands + "000" );
WScript.Echo ( "|| 0.9996 -> 1 or 1.00 or 1,00" );
compare ( (0.9996).toLocaleString(), "1", "1" + decimal + "00");
WScript.Echo ( "|| 0.1996 -> 0.2" );
compare ( (0.1996).toLocaleString(), "0" + decimal + "2" );
WScript.Echo ( "|| -0.1996 -> -0.2" );
compare ( (-0.1996).toLocaleString(), "-0" + decimal + "2" );
WScript.Echo ( "|| -0.1996 -> -0.2" );
compare ( (-0.1996).toLocaleString(), "-0" + decimal + "2" );
WScript.Echo ( "|| 1/3 -> 0.333 or 0,333" );
compare ( (1/3).toLocaleString(), "0" + decimal + "333" );
WScript.Echo ( "|| 1234567890.123456 ->1,234,567,890.123 or 1.234.567.890,123" );
compare ( (1234567890.12345).toLocaleString(), "1" + thousands + "234" +
thousands + "567" + thousands +
"890" + decimal + "123" );
WScript.Echo ( "|| 10 -> 10 or 10.00 or 10,00" );
compare ( (10).toLocaleString(), "10" + decimal + "00", "10" );
WScript.Echo ( "" );