summaryrefslogtreecommitdiff
path: root/test/suite/intl402/ch12/12.3/12.3.2_5_b.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/suite/intl402/ch12/12.3/12.3.2_5_b.js')
-rw-r--r--test/suite/intl402/ch12/12.3/12.3.2_5_b.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/suite/intl402/ch12/12.3/12.3.2_5_b.js b/test/suite/intl402/ch12/12.3/12.3.2_5_b.js
new file mode 100644
index 000000000..94a900d56
--- /dev/null
+++ b/test/suite/intl402/ch12/12.3/12.3.2_5_b.js
@@ -0,0 +1,34 @@
+// Copyright 2012 Google Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @path intl402/ch12/12.3/12.3.2_5_b.js
+ * @description Tests that Intl.NumberFormat.prototype.format
+ * formats percent values properly.
+ * @author: Roozbeh Pournader
+ */
+
+var testcase = function() {
+ "use strict";
+
+ var numberFormatter = new Intl.NumberFormat();
+ var percentFormatter = new Intl.NumberFormat(undefined, {style: 'percent'});
+
+ var formattedTwenty = numberFormatter.format(20);
+ var formattedTwentyPercent = percentFormatter.format(0.20);
+
+ // FIXME: May not work for some theoretical locales where percents and
+ // normal numbers are formatted using different numbering systems.
+ if (formattedTwentyPercent.indexOf(formattedTwenty) === -1) {
+ $ERROR("Intl.NumberFormat's formatting of 20% does not include a " +
+ "formatting of 20 as a substring.");
+ }
+
+ // FIXME: Move this to somewhere appropriate
+ if (percentFormatter.format(0.011) === percentFormatter.format(0.02)) {
+ $ERROR('Intl.NumberFormat is formatting 1.1% and 2% the same way.');
+ }
+
+ return true;
+}
+runTestCase(testcase);