aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/i18n/numberformat_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/i18n/numberformat_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/i18n/numberformat_test.html702
1 files changed, 0 insertions, 702 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/i18n/numberformat_test.html b/contexts/data/lib/closure-library/closure/goog/i18n/numberformat_test.html
deleted file mode 100644
index 381a512..0000000
--- a/contexts/data/lib/closure-library/closure/goog/i18n/numberformat_test.html
+++ /dev/null
@@ -1,702 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-Copyright 2006 The Closure Library Authors. All Rights Reserved.
-
-Use of this source code is governed by the Apache License, Version 2.0.
-See the COPYING file for details.
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<title>Closure Unit Tests - goog.i18n.NumberFormat</title>
-<meta charset="utf-8"/>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.i18n.NumberFormat');
- goog.require('goog.i18n.NumberFormatSymbols');
- goog.require('goog.i18n.NumberFormatSymbols_fr');
- goog.require('goog.testing.ExpectedFailures');
- goog.require('goog.testing.jsunit');
- goog.require('goog.userAgent');
- goog.require('goog.userAgent.product');
- goog.require('goog.userAgent.product.isVersion');
-</script>
-</head>
-<body>
-<script>
-
-var expectedFailures = new goog.testing.ExpectedFailures();
-goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en;
-
-function tearDown() {
- expectedFailures.handleTearDown();
-}
-
-function veryBigNumberCompare(str1, str2) {
- return str1.length == str2.length &&
- str1.substring(0, 8) == str2.substring(0, 8);
-}
-
-function testVeryBigNumber() {
- var str;
- var fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.CURRENCY);
- str = fmt.format(1785599999999999888888888888888);
- // when comparing big number, various platform have small different in
- // precision. We have to tolerate that using veryBigNumberCompare.
- var expected = '$1,785,599,999,999,999,400,000,000,000,000.00';
- assertTrue(veryBigNumberCompare(
- '$1,785,599,999,999,999,400,000,000,000,000.00', str));
- str = fmt.format(1.7856E30);
- assertTrue(veryBigNumberCompare(
- '$1,785,599,999,999,999,400,000,000,000,000.00', str));
- str = fmt.format(1.3456E20);
- assertTrue(veryBigNumberCompare('$134,560,000,000,000,000,000.00', str));
-
- fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.DECIMAL);
- str = fmt.format(1.3456E20);
- assertTrue(veryBigNumberCompare('134,559,999,999,999,980,000', str));
-
-
- fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.PERCENT);
- str = fmt.format(1.3456E20);
- assertTrue(veryBigNumberCompare('13,456,000,000,000,000,000,000%', str));
-
- fmt = new goog.i18n.NumberFormat(
- goog.i18n.NumberFormat.Format.SCIENTIFIC);
- str = fmt.format(1.3456E20);
- assertEquals('1E20', str);
-
- fmt = new goog.i18n.NumberFormat(
- goog.i18n.NumberFormat.Format.DECIMAL);
- str = fmt.format(-1.234567890123456e306);
- assertEquals(1 + 1 + 306 + 306 / 3, str.length);
- assertEquals('-1,234,567,890,123,45', str.substr(0, 21));
-
- str = fmt.format(Infinity);
- assertEquals('\u221e', str);
- str = fmt.format(-Infinity);
- assertEquals('-\u221e', str);
-}
-
-function testStandardFormat() {
- var str;
- var fmt = new goog.i18n.NumberFormat(
- goog.i18n.NumberFormat.Format.CURRENCY);
- str = fmt.format(1234.579);
- assertEquals('$1,234.58', str);
- fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.DECIMAL);
- str = fmt.format(1234.579);
- assertEquals('1,234.579', str);
- fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.PERCENT);
- str = fmt.format(1234.579);
- assertEquals('123,458%', str);
- fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.SCIENTIFIC);
- str = fmt.format(1234.579);
- assertEquals('1E3', str);
-}
-
-function testNegativePercentage() {
- var str;
- var fmt = new goog.i18n.NumberFormat('#,##0.00%');
- str = fmt.format(-1234.56);
- assertEquals('-123,456.00%', str);
-
- fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.PERCENT);
- str = fmt.format(-1234.579);
- assertEquals('-123,458%', str);
-}
-
-function testCustomPercentage() {
- var fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.PERCENT);
- fmt.setMaximumFractionDigits(1);
- fmt.setMinimumFractionDigits(1);
- var str = fmt.format(0.1291);
- assertEquals('12.9%', str);
- fmt.setMaximumFractionDigits(2);
- fmt.setMinimumFractionDigits(1);
- str = fmt.format(0.129);
- assertEquals('12.9%', str);
- fmt.setMaximumFractionDigits(2);
- fmt.setMinimumFractionDigits(1);
- str = fmt.format(0.12);
- assertEquals('12.0%', str);
- fmt.setMaximumFractionDigits(2);
- fmt.setMinimumFractionDigits(1);
- str = fmt.format(0.12911);
- assertEquals('12.91%', str);
-}
-
-function testBasicParse() {
- var value;
-
- var fmt = new goog.i18n.NumberFormat('0.0000');
- value = fmt.parse('123.4579');
- assertEquals(123.4579, value);
-
- value = fmt.parse('+123.4579');
- assertEquals(123.4579, value);
-
- value = fmt.parse('-123.4579');
- assertEquals(-123.4579, value);
-}
-
-function testPrefixParse() {
- var value;
-
- var fmt = new goog.i18n.NumberFormat('0.0;(0.0)');
- value = fmt.parse('123.4579');
- assertEquals(123.4579, value);
-
- value = fmt.parse('(123.4579)');
- assertEquals(-123.4579, value);
-}
-
-function testPrecentParse() {
- var value;
-
- var fmt = new goog.i18n.NumberFormat('0.0;(0.0)');
- value = fmt.parse('123.4579%');
- assertEquals((123.4579/100), value);
-
- value = fmt.parse('(%123.4579)');
- assertEquals((-123.4579/100), value);
-
- value = fmt.parse('123.4579\u2030');
- assertEquals((123.4579/1000), value);
-
- value = fmt.parse('(\u2030123.4579)');
- assertEquals((-123.4579/1000), value);
-}
-
-function testPercentAndPerMillAdvance() {
- var value;
- var pos = [0];
- var fmt = new goog.i18n.NumberFormat('0');
- value = fmt.parse('120%', pos);
- assertEquals(1.2, value);
- assertEquals(4, pos[0]);
- pos[0] = 0;
- value = fmt.parse('120\u2030', pos);
- assertEquals(0.12, value);
- assertEquals(4, pos[0]);
-}
-
-function testInfinityParse() {
- var value;
- var fmt = new goog.i18n.NumberFormat('0.0;(0.0)');
-
- // gwt need to add those symbols first
- value = fmt.parse('\u221e');
- assertEquals(Number.POSITIVE_INFINITY, value);
-
- value = fmt.parse('(\u221e)');
- assertEquals(Number.NEGATIVE_INFINITY, value);
-}
-function testExponentParse() {
- var value;
- var fmt;
-
- fmt = new goog.i18n.NumberFormat('#E0');
- value = fmt.parse('1.234E3');
- assertEquals(1.234E+3, value);
-
- fmt = new goog.i18n.NumberFormat('0.###E0');
- value = fmt.parse('1.234E3');
- assertEquals(1.234E+3, value);
-
- fmt = new goog.i18n.NumberFormat('#E0');
- value = fmt.parse('1.2345E4');
- assertEquals(12345.0, value);
-
- value = fmt.parse('1.2345E4');
- assertEquals(12345.0, value);
-
- value = fmt.parse('1.2345E+4');
- assertEquals(12345.0, value);
-}
-
-function testGroupingParse() {
- var value;
-
- var fmt = new goog.i18n.NumberFormat('#,###');
- value = fmt.parse('1,234,567,890');
- assertEquals(1234567890, value);
- value = fmt.parse('12,3456,7890');
- assertEquals(1234567890, value);
-
- fmt = new goog.i18n.NumberFormat('#');
- value = fmt.parse('1234567890');
- assertEquals(1234567890, value);
-}
-
-function testBasicFormat() {
- var fmt = new goog.i18n.NumberFormat('0.0000');
- var str = fmt.format(123.45789179565757);
- assertEquals('123.4579', str);
-}
-
-function testGrouping() {
- var str;
-
- var fmt = new goog.i18n.NumberFormat('#,###');
- str = fmt.format(1234567890);
- assertEquals('1,234,567,890', str);
- fmt = new goog.i18n.NumberFormat('#,####');
- str = fmt.format(1234567890);
- assertEquals('12,3456,7890', str);
-
- fmt = new goog.i18n.NumberFormat('#');
- str = fmt.format(1234567890);
- assertEquals('1234567890', str);
-}
-
-function testPerMill() {
- var str;
-
- var fmt = new goog.i18n.NumberFormat('###.###\u2030');
- str = fmt.format(0.4857);
- assertEquals('485.7\u2030', str);
-}
-
-function testCurrency() {
- var str;
-
- var fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00');
- str = fmt.format(1234.56);
- assertEquals('$1,234.56', str);
- str = fmt.format(-1234.56);
- assertEquals('-$1,234.56', str);
-
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00', 'USD',
- goog.i18n.NumberFormat.CurrencyStyle.LOCAL);
- str = fmt.format(1234.56);
- assertEquals('$1,234.56', str);
- str = fmt.format(-1234.56);
- assertEquals('-$1,234.56', str);
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00', 'USD',
- goog.i18n.NumberFormat.CurrencyStyle.PORTABLE);
- str = fmt.format(1234.56);
- assertEquals('US$1,234.56', str);
- str = fmt.format(-1234.56);
- assertEquals('-US$1,234.56', str);
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00', 'USD',
- goog.i18n.NumberFormat.CurrencyStyle.GLOBAL);
- str = fmt.format(1234.56);
- assertEquals('USD $1,234.56', str);
- str = fmt.format(-1234.56);
- assertEquals('-USD $1,234.56', str);
-
-
- fmt = new goog.i18n.NumberFormat(
- '\u00a4\u00a4 #,##0.00;-\u00a4\u00a4 #,##0.00');
- str = fmt.format(1234.56);
- assertEquals('USD 1,234.56', str);
- fmt = new goog.i18n.NumberFormat(
- '\u00a4\u00a4 #,##0.00;\u00a4\u00a4 -#,##0.00');
- str = fmt.format(-1234.56);
- assertEquals('USD -1,234.56', str);
-
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00', 'BRL');
- str = fmt.format(1234.56);
- assertEquals('R$1,234.56', str);
- str = fmt.format(-1234.56);
- assertEquals('-R$1,234.56', str);
-
- fmt = new goog.i18n.NumberFormat(
- '\u00a4\u00a4 #,##0.00;(\u00a4\u00a4 #,##0.00)', 'BRL');
- str = fmt.format(1234.56);
- assertEquals('BRL 1,234.56', str);
- str = fmt.format(-1234.56);
- assertEquals('(BRL 1,234.56)', str);
-}
-
-function testQuotes() {
- var str;
-
- var fmt = new goog.i18n.NumberFormat('a\'fo\'\'o\'b#');
- str = fmt.format(123);
- assertEquals('afo\'ob123', str);
-
- fmt = new goog.i18n.NumberFormat('a\'\'b#');
- str = fmt.format(123);
- assertEquals('a\'b123', str);
-
- fmt = new goog.i18n.NumberFormat('a\'fo\'\'o\'b#');
- str = fmt.format(-123);
- assertEquals('afo\'ob-123', str);
-
- fmt = new goog.i18n.NumberFormat('a\'\'b#');
- str = fmt.format(-123);
- assertEquals('a\'b-123', str);
-}
-
-function testZeros() {
- var str;
- var fmt;
-
- fmt = new goog.i18n.NumberFormat('#.#');
- str = fmt.format(0);
- assertEquals('0', str);
- fmt = new goog.i18n.NumberFormat('#.');
- str = fmt.format(0);
- assertEquals('0.', str);
- fmt = new goog.i18n.NumberFormat('.#');
- str = fmt.format(0);
- assertEquals('.0', str);
- fmt = new goog.i18n.NumberFormat('#');
- str = fmt.format(0);
- assertEquals('0', str);
-
- fmt = new goog.i18n.NumberFormat('#0.#');
- str = fmt.format(0);
- assertEquals('0', str);
- fmt = new goog.i18n.NumberFormat('#0.');
- str = fmt.format(0);
- assertEquals('0.', str);
- fmt = new goog.i18n.NumberFormat('#.0');
- str = fmt.format(0);
- assertEquals('.0', str);
- fmt = new goog.i18n.NumberFormat('#');
- str = fmt.format(0);
- assertEquals('0', str);
- fmt = new goog.i18n.NumberFormat('000');
- str = fmt.format(0);
- assertEquals('000', str);
-}
-
-function testExponential() {
- var str;
- var fmt;
-
- fmt = new goog.i18n.NumberFormat('0.####E0');
- str = fmt.format(0.01234);
- assertEquals('1.234E-2', str);
- fmt = new goog.i18n.NumberFormat('00.000E00');
- str = fmt.format(0.01234);
- assertEquals('12.340E-03', str);
- fmt = new goog.i18n.NumberFormat('##0.######E000');
- str = fmt.format(0.01234);
- assertEquals('12.34E-003', str);
- fmt = new goog.i18n.NumberFormat('0.###E0;[0.###E0]');
- str = fmt.format(0.01234);
- assertEquals('1.234E-2', str);
-
- fmt = new goog.i18n.NumberFormat('0.####E0');
- str = fmt.format(123456789);
- assertEquals('1.2346E8', str);
- fmt = new goog.i18n.NumberFormat('00.000E00');
- str = fmt.format(123456789);
- assertEquals('12.346E07', str);
- fmt = new goog.i18n.NumberFormat('##0.######E000');
- str = fmt.format(123456789);
- assertEquals('123.456789E006', str);
- fmt = new goog.i18n.NumberFormat('0.###E0;[0.###E0]');
- str = fmt.format(123456789);
- assertEquals('1.235E8', str);
-
- fmt = new goog.i18n.NumberFormat('0.####E0');
- str = fmt.format(1.23e300);
- assertEquals('1.23E300', str);
- fmt = new goog.i18n.NumberFormat('00.000E00');
- str = fmt.format(1.23e300);
- assertEquals('12.300E299', str);
- fmt = new goog.i18n.NumberFormat('##0.######E000');
- str = fmt.format(1.23e300);
- assertEquals('1.23E300', str);
- fmt = new goog.i18n.NumberFormat('0.###E0;[0.###E0]');
- str = fmt.format(1.23e300);
- assertEquals('1.23E300', str);
-
- fmt = new goog.i18n.NumberFormat('0.####E0');
- str = fmt.format(-3.141592653e-271);
- assertEquals('-3.1416E-271', str);
- fmt = new goog.i18n.NumberFormat('00.000E00');
- str = fmt.format(-3.141592653e-271);
- assertEquals('-31.416E-272', str);
- fmt = new goog.i18n.NumberFormat('##0.######E000');
- str = fmt.format(-3.141592653e-271);
- assertEquals('-314.159265E-273', str);
- fmt = new goog.i18n.NumberFormat('0.###E0;[0.###E0]');
- str = fmt.format(-3.141592653e-271);
- assertEquals('[3.142E-271]', str);
-
- fmt = new goog.i18n.NumberFormat('0.####E0');
- str = fmt.format(0);
- assertEquals('0E0', str);
- fmt = new goog.i18n.NumberFormat('00.000E00');
- str = fmt.format(0);
- assertEquals('00.000E00', str);
- fmt = new goog.i18n.NumberFormat('##0.######E000');
- str = fmt.format(0);
- assertEquals('0E000', str);
- fmt = new goog.i18n.NumberFormat('0.###E0;[0.###E0]');
- str = fmt.format(0);
- assertEquals('0E0', str);
-
- fmt = new goog.i18n.NumberFormat('0.####E0');
- str = fmt.format(-1);
- assertEquals('-1E0', str);
- fmt = new goog.i18n.NumberFormat('00.000E00');
- str = fmt.format(-1);
- assertEquals('-10.000E-01', str);
- fmt = new goog.i18n.NumberFormat('##0.######E000');
- str = fmt.format(-1);
- assertEquals('-1E000', str);
- fmt = new goog.i18n.NumberFormat('0.###E0;[0.###E0]');
- str = fmt.format(-1);
- assertEquals('[1E0]', str);
-
- fmt = new goog.i18n.NumberFormat('0.####E0');
- str = fmt.format(1);
- assertEquals('1E0', str);
- fmt = new goog.i18n.NumberFormat('00.000E00');
- str = fmt.format(1);
- assertEquals('10.000E-01', str);
- fmt = new goog.i18n.NumberFormat('##0.######E000');
- str = fmt.format(1);
- assertEquals('1E000', str);
- fmt = new goog.i18n.NumberFormat('0.###E0;[0.###E0]');
- str = fmt.format(1);
- assertEquals('1E0', str);
-
- fmt = new goog.i18n.NumberFormat('#E0');
- str = fmt.format(12345.0);
- assertEquals('1E4', str);
- fmt = new goog.i18n.NumberFormat('0E0');
- str = fmt.format(12345.0);
- assertEquals('1E4', str);
- fmt = new goog.i18n.NumberFormat('##0.###E0');
- str = fmt.format(12345.0);
- assertEquals('12.345E3', str);
- fmt = new goog.i18n.NumberFormat('##0.###E0');
- str = fmt.format(12345.00001);
- assertEquals('12.345E3', str);
- fmt = new goog.i18n.NumberFormat('##0.###E0');
- str = fmt.format(12345);
- assertEquals('12.345E3', str);
-
- fmt = new goog.i18n.NumberFormat('##0.####E0');
- str = fmt.format(789.12345e-9);
- // Firefox 3.6.3 Linux is known to fail here with a rounding error.
- // fmt.format will return '789.1234E-9'.
- expectedFailures.expectFailureFor(isFirefox363Linux());
- try {
- assertEquals('789.1235E-9', str);
- } catch (e) {
- expectedFailures.handleException(e);
- }
- fmt = new goog.i18n.NumberFormat('##0.####E0');
- str = fmt.format(780.e-9);
- assertEquals('780E-9', str);
- fmt = new goog.i18n.NumberFormat('.###E0');
- str = fmt.format(45678.0);
- assertEquals('.457E5', str);
- fmt = new goog.i18n.NumberFormat('.###E0');
- str = fmt.format(0);
- assertEquals('.0E0', str);
-
- fmt = new goog.i18n.NumberFormat('#E0');
- str = fmt.format(45678000);
- assertEquals('5E7', str);
- fmt = new goog.i18n.NumberFormat('##E0');
- str = fmt.format(45678000);
- assertEquals('46E6', str);
- fmt = new goog.i18n.NumberFormat('####E0');
- str = fmt.format(45678000);
- assertEquals('4568E4', str);
- fmt = new goog.i18n.NumberFormat('0E0');
- str = fmt.format(45678000);
- assertEquals('5E7', str);
- fmt = new goog.i18n.NumberFormat('00E0');
- str = fmt.format(45678000);
- assertEquals('46E6', str);
- fmt = new goog.i18n.NumberFormat('000E0');
- str = fmt.format(45678000);
- assertEquals('457E5', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(0.0000123);
- assertEquals('12E-6', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(0.000123);
- assertEquals('123E-6', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(0.00123);
- assertEquals('1E-3', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(0.0123);
- assertEquals('12E-3', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(0.123);
- assertEquals('123E-3', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(1.23);
- assertEquals('1E0', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(12.3);
- assertEquals('12E0', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(123.0);
- assertEquals('123E0', str);
- fmt = new goog.i18n.NumberFormat('###E0');
- str = fmt.format(1230.0);
- assertEquals('1E3', str);
-}
-
-function testPlusSignInExponentPart() {
- var fmt;
- fmt = new goog.i18n.NumberFormat('0E+0');
- str = fmt.format(45678000);
- assertEquals('5E+7', str);
-}
-
-function testGroupingParse2() {
- var value;
- var fmt;
-
- fmt = new goog.i18n.NumberFormat('#,###');
- value = fmt.parse('1,234,567,890');
- assertEquals(1234567890, value);
- fmt = new goog.i18n.NumberFormat('#,###');
- value = fmt.parse('12,3456,7890');
- assertEquals(1234567890, value);
-
- fmt = new goog.i18n.NumberFormat('#');
- value = fmt.parse('1234567890');
- assertEquals(1234567890, value);
-}
-
-function testApis() {
- var fmt;
- var str;
-
- fmt = new goog.i18n.NumberFormat('#,###');
- str = fmt.format(1234567890);
- assertEquals('1,234,567,890', str);
-
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00');
- str = fmt.format(1234.56);
- assertEquals('$1,234.56', str);
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;(\u00a4#,##0.00)');
- str = fmt.format(-1234.56);
- assertEquals('($1,234.56)', str);
-
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00', 'SEK');
- str = fmt.format(1234.56);
- assertEquals('kr1,234.56', str);
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;(\u00a4#,##0.00)', 'SEK');
- str = fmt.format(-1234.56);
- assertEquals('(kr1,234.56)', str);
-}
-
-function testLocaleSwitch() {
- goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr;
-
- // When this test is performed in test cluster, 2 out of 60 machines have
- // problem getting the symbol. It is likely to be caused by size of uncompiled
- // symbol file. There will not be an issue after it is compiled.
- if (goog.i18n.NumberFormatSymbols.DECIMAL_SEP ==
- goog.i18n.NumberFormatSymbols_en.DECIMAL_SEP) {
- // fails to load French symbols, skip the test.
- return;
- }
-
- var fmt = new goog.i18n.NumberFormat('#,###');
- var str = fmt.format(1234567890);
- assertEquals('1\u00a0234\u00a0567\u00a0890', str);
-
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00');
- str = fmt.format(1234.56);
- assertEquals('\u20AC1\u00a0234,56', str);
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;(\u00a4#,##0.00)');
- str = fmt.format(-1234.56);
- assertEquals('(\u20AC1\u00a0234,56)', str);
-
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;-\u00a4#,##0.00', 'SEK');
- str = fmt.format(1234.56);
- assertEquals('kr1\u00a0234,56', str);
- fmt = new goog.i18n.NumberFormat('\u00a4#,##0.00;(\u00a4#,##0.00)', 'SEK');
- str = fmt.format(-1234.56);
- assertEquals('(kr1\u00a0234,56)', str);
- goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en;
-}
-
-function testFrenchParse() {
- goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr;
-
- // When this test is performed in test cluster, 2 out of 60 machines have
- // problem getting the symbol. It is likely to be caused by size of uncompiled
- // symbol file. There will not be an issue after it is compiled.
- if (goog.i18n.NumberFormatSymbols.DECIMAL_SEP ==
- goog.i18n.NumberFormatSymbols_en.DECIMAL_SEP) {
- // fails to load French symbols, skip the test.
- return;
- }
-
- var fmt = new goog.i18n.NumberFormat('0.0000');
- var value = fmt.parse('0,30');
- assertEquals(0.30, value);
-
- fmt = new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.CURRENCY);
- value = fmt.parse('0,30\u00A0\u20AC');
- assertEquals(0.30, value);
- fmt = new goog.i18n.NumberFormat('#,##0.00');
- value = fmt.parse('123 456,99');
- assertEquals(123456.99, value);
-
- fmt = new goog.i18n.NumberFormat('#,##0.00');
- value = fmt.parse('123\u00a0456,99');
- assertEquals(123456.99, value);
-
- fmt = new goog.i18n.NumberFormat('#,##0.00');
- value = fmt.parse('8 123\u00a0456,99');
- assertEquals(8123456.99, value);
- goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en;
-}
-
-
-function testFailParseShouldThrow() {
- goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en;
-
- var fmt = new goog.i18n.NumberFormat('0.0000');
- var value = fmt.parse('x');
- assertNaN(value);
-
- fmt = new goog.i18n.NumberFormat('0.000x');
- value = fmt.parse('3y');
- assertNaN(value);
-
- fmt = new goog.i18n.NumberFormat('x0.000');
- value = fmt.parse('y3');
- assertNaN(value);
-}
-
-/**
- * @return {boolean} Whether we're on Linux Firefox 3.6.3.
- */
-function isFirefox363Linux() {
- return goog.userAgent.product.FIREFOX && goog.userAgent.LINUX &&
- goog.userAgent.product.isVersion('3.6.3') &&
- !goog.userAgent.product.isVersion('3.6.4');
-}
-
-
-function testEnforceAscii() {
- try {
- goog.i18n.NumberFormatSymbols.ZERO_DIGIT = 'A';
- var fmt = new goog.i18n.NumberFormat('0.0000');
- var str = fmt.format(123.45789179565757);
- assertEquals('BCD.EFHJ', str);
- goog.i18n.NumberFormat.setEnforceAsciiDigits(true);
- str = fmt.format(123.45789179565757);
- assertEquals('123.4579', str);
- goog.i18n.NumberFormat.setEnforceAsciiDigits(false);
- str = fmt.format(123.45789179565757);
- assertEquals('BCD.EFHJ', str);
- } finally {
- goog.i18n.NumberFormatSymbols.ZERO_DIGIT = '0';
- }
-}
-
-</script>
-</body>
-</html>