diff options
Diffstat (limited to 'js/src/tests/test262/intl402/ch06/6.3')
-rw-r--r-- | js/src/tests/test262/intl402/ch06/6.3/6.3.1_a.js | 25 | ||||
-rw-r--r-- | js/src/tests/test262/intl402/ch06/6.3/6.3.1_b.js | 35 | ||||
-rw-r--r-- | js/src/tests/test262/intl402/ch06/6.3/browser.js | 0 | ||||
-rw-r--r-- | js/src/tests/test262/intl402/ch06/6.3/shell.js | 0 |
4 files changed, 60 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/ch06/6.3/6.3.1_a.js b/js/src/tests/test262/intl402/ch06/6.3/6.3.1_a.js new file mode 100644 index 000000000..01cc18b03 --- /dev/null +++ b/js/src/tests/test262/intl402/ch06/6.3/6.3.1_a.js @@ -0,0 +1,25 @@ +// Copyright 2012 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @description Tests that well-formed currency codes are accepted. + * @author Norbert Lindenberg + */ + +var wellFormedCurrencyCodes = [ + "BOB", + "EUR", + "usd", // currency codes are case-insensitive + "XdR", + "xTs" +]; + +wellFormedCurrencyCodes.forEach(function (code) { + // this must not throw an exception for a valid currency code + var format = new Intl.NumberFormat(["de-de"], {style: "currency", currency: code}); + if (format.resolvedOptions().currency !== code.toUpperCase()) { + $ERROR("Currency " + code + " was not correctly accepted; turned into " + + format.resolvedOptions().currency + "."); + } +}); + diff --git a/js/src/tests/test262/intl402/ch06/6.3/6.3.1_b.js b/js/src/tests/test262/intl402/ch06/6.3/6.3.1_b.js new file mode 100644 index 000000000..038dd1fc4 --- /dev/null +++ b/js/src/tests/test262/intl402/ch06/6.3/6.3.1_b.js @@ -0,0 +1,35 @@ +// Copyright 2012 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @description Tests that invalid currency codes are not accepted. + * @author Norbert Lindenberg + */ + +var invalidCurrencyCodes = [ + "", + "€", + "$", + "SFr.", + "DM", + "KR₩", + "702", + "ßP", + "ınr" +]; + +invalidCurrencyCodes.forEach(function (code) { + var error; + try { + // this must throw an exception for an invalid currency code + var format = new Intl.NumberFormat(["de-de"], {style: "currency", currency: code}); + } catch (e) { + error = e; + } + if (error === undefined) { + $ERROR("Invalid currency code '" + code + "' was not rejected."); + } else if (error.name !== "RangeError") { + $ERROR("Invalid currency code '" + code + "' was rejected with wrong error " + error.name + "."); + } +}); + diff --git a/js/src/tests/test262/intl402/ch06/6.3/browser.js b/js/src/tests/test262/intl402/ch06/6.3/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/intl402/ch06/6.3/browser.js diff --git a/js/src/tests/test262/intl402/ch06/6.3/shell.js b/js/src/tests/test262/intl402/ch06/6.3/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/intl402/ch06/6.3/shell.js |