summaryrefslogtreecommitdiffstats
path: root/website
diff options
context:
space:
mode:
authorNorbert Lindenberg <ecmascript@lindenbergsoftware.com>2012-08-26 20:50:24 -0700
committerNorbert Lindenberg <ecmascript@lindenbergsoftware.com>2012-08-26 20:50:24 -0700
commitd71ffa59d5fa2df454bf1c1853b0ccfc87fe3bcd (patch)
tree79aed459cf2d8f9d26f8e0ece825d5e20b1d4650 /website
parent1af24250750e0a4318ec8efb467245fa0e86c215 (diff)
Added new tests for chapters 10 to 13 of the ECMAScript Internationalization API Specification.
Diffstat (limited to 'website')
-rw-r--r--website/harness/testIntl.js471
-rw-r--r--website/json/intl402.json2
-rw-r--r--website/json/testcases_intl402.json2
3 files changed, 473 insertions, 2 deletions
diff --git a/website/harness/testIntl.js b/website/harness/testIntl.js
index 251f0a2ca..365b1555d 100644
--- a/website/harness/testIntl.js
+++ b/website/harness/testIntl.js
@@ -656,3 +656,474 @@ function isCanonicalizedStructurallyValidLanguageTag(locale) {
canonicalizeLanguageTag(locale) === locale;
}
+
+/**
+ * Tests whether the named options property is correctly handled by the given constructor.
+ * @param {object} Constructor the constructor to test.
+ * @param {string} property the name of the options property to test.
+ * @param {string} type the type that values of the property are expected to have
+ * @param {Array} [values] an array of allowed values for the property. Not needed for boolean.
+ * @param {any} fallback the fallback value that the property assumes if not provided.
+ * @param {object} testOptions additional options:
+ * @param {boolean} isOptional whether support for this property is optional for implementations.
+ * @param {boolean} noReturn whether the resulting value of the property is not returned.
+ * @param {boolean} isILD whether the resulting value of the property is implementation and locale dependent.
+ * @param {object} extra additional option to pass along, properties are value -> {option: value}.
+ * @return {boolean} whether the test succeeded.
+ */
+function testOption(Constructor, property, type, values, fallback, testOptions) {
+ var isOptional = testOptions !== undefined && testOptions.isOptional === true;
+ var noReturn = testOptions !== undefined && testOptions.noReturn === true;
+ var isILD = testOptions !== undefined && testOptions.isILD === true;
+
+ function addExtraOptions(options, value, testOptions) {
+ if (testOptions !== undefined && testOptions.extra !== undefined) {
+ var extra;
+ if (value !== undefined && testOptions.extra[value] !== undefined) {
+ extra = testOptions.extra[value];
+ } else if (testOptions.extra.any !== undefined) {
+ extra = testOptions.extra.any;
+ }
+ if (extra !== undefined) {
+ Object.getOwnPropertyNames(extra).forEach(function (prop) {
+ options[prop] = extra[prop];
+ });
+ }
+ }
+ }
+
+ var testValues, options, obj, expected, actual, error;
+
+ // test that the specified values are accepted. Also add values that convert to specified values.
+ if (type === "boolean") {
+ if (values === undefined) {
+ values = [true, false];
+ }
+ testValues = values.slice(0);
+ testValues.push(888);
+ testValues.push(0);
+ } else if (type === "string") {
+ testValues = values.slice(0);
+ testValues.push({toString: function () { return values[0]; }});
+ }
+ testValues.forEach(function (value) {
+ options = {};
+ options[property] = value;
+ addExtraOptions(options, value, testOptions);
+ obj = new Constructor(undefined, options);
+ if (noReturn) {
+ if (obj.resolvedOptions().hasOwnProperty(property)) {
+ $ERROR("Option property " + property + " is returned, but shouldn't be.");
+ }
+ } else {
+ actual = obj.resolvedOptions()[property];
+ if (isILD) {
+ if (actual !== undefined && values.indexOf(actual) === -1) {
+ $ERROR("Invalid value " + actual + " returned for property " + property + ".");
+ }
+ } else {
+ if (type === "boolean") {
+ expected = Boolean(value);
+ } else if (type === "string") {
+ expected = String(value);
+ }
+ if (actual !== expected && !(isOptional && actual === undefined)) {
+ $ERROR("Option value " + value + " for property " + property +
+ " was not accepted; got " + actual + " instead.");
+ }
+ }
+ }
+ });
+
+ // test that invalid values are rejected
+ if (type === "string") {
+ var invalidValues = ["invalidValue", -1, null];
+ // assume that we won't have values in caseless scripts
+ if (values[0].toUpperCase() !== values[0]) {
+ invalidValues.push(values[0].toUpperCase());
+ } else {
+ invalidValues.push(values[0].toLowerCase());
+ }
+ invalidValues.forEach(function (value) {
+ options = {};
+ options[property] = value;
+ addExtraOptions(options, value, testOptions);
+ error = undefined;
+ try {
+ obj = new Constructor(undefined, options);
+ } catch (e) {
+ error = e;
+ }
+ if (error === undefined) {
+ $ERROR("Invalid option value " + value + " for property " + property + " was not rejected.");
+ } else if (error.name !== "RangeError") {
+ $ERROR("Invalid option value " + value + " for property " + property + " was rejected with wrong error " + error.name + ".");
+ }
+ });
+ }
+
+ // test that fallback value or another valid value is used if no options value is provided
+ if (!noReturn) {
+ options = {};
+ addExtraOptions(options, undefined, testOptions);
+ obj = new Constructor(undefined, options);
+ actual = obj.resolvedOptions()[property];
+ if (!(isOptional && actual === undefined)) {
+ if (fallback !== undefined) {
+ if (actual !== fallback) {
+ $ERROR("Option fallback value " + fallback + " for property " + property +
+ " was not used; got " + actual + " instead.");
+ }
+ } else {
+ if (values.indexOf(actual) === -1 && !(isILD && actual === undefined)) {
+ $ERROR("Invalid value " + actual + " returned for property " + property + ".");
+ }
+ }
+ }
+ }
+
+ return true;
+}
+
+
+/**
+ * Tests whether the named property of the given object has a valid value
+ * and the default attributes of the properties of an object literal.
+ * @param {Object} obj the object to be tested.
+ * @param {string} property the name of the property
+ * @param {Function|Array} valid either a function that tests value for validity and returns a boolean,
+ * an array of valid values.
+ * @exception if the property has an invalid value.
+ */
+function testProperty(obj, property, valid) {
+ var desc = Object.getOwnPropertyDescriptor(obj, property);
+ if (!desc.writable) {
+ $ERROR("Property " + property + " must be writable.");
+ }
+ if (!desc.enumerable) {
+ $ERROR("Property " + property + " must be enumerable.");
+ }
+ if (!desc.configurable) {
+ $ERROR("Property " + property + " must be configurable.");
+ }
+ var value = desc.value;
+ var isValid = (typeof valid === "function") ? valid(value) : (valid.indexOf(value) !== -1);
+ if (!isValid) {
+ $ERROR("Property value " + value + " is not allowed for property " + property + ".");
+ }
+}
+
+
+/**
+ * Tests whether the named property of the given object, if present at all, has a valid value
+ * and the default attributes of the properties of an object literal.
+ * @param {Object} obj the object to be tested.
+ * @param {string} property the name of the property
+ * @param {Function|Array} valid either a function that tests value for validity and returns a boolean,
+ * an array of valid values.
+ * @exception if the property is present and has an invalid value.
+ */
+function mayHaveProperty(obj, property, valid) {
+ if (obj.hasOwnProperty(property)) {
+ testProperty(obj, property, valid);
+ }
+}
+
+
+/**
+ * Tests whether the given object has the named property with a valid value
+ * and the default attributes of the properties of an object literal.
+ * @param {Object} obj the object to be tested.
+ * @param {string} property the name of the property
+ * @param {Function|Array} valid either a function that tests value for validity and returns a boolean,
+ * an array of valid values.
+ * @exception if the property is missing or has an invalid value.
+ */
+function mustHaveProperty(obj, property, valid) {
+ if (!obj.hasOwnProperty(property)) {
+ $ERROR("Object is missing property " + property + ".");
+ }
+ testProperty(obj, property, valid);
+}
+
+
+/**
+ * Tests whether the given object does not have the named property.
+ * @param {Object} obj the object to be tested.
+ * @param {string} property the name of the property
+ * @exception if the property is present.
+ */
+function mustNotHaveProperty(obj, property) {
+ if (obj.hasOwnProperty(property)) {
+ $ERROR("Object has property it mustn't have: " + property + ".");
+ }
+}
+
+
+/**
+ * Tests whether name is a valid BCP 47 numbering system name
+ * and not excluded from use in the ECMAScript Internationalization API.
+ * @param {string} name the name to be tested.
+ * @return {boolean} whether name is a valid BCP 47 numbering system name and
+ * allowed for use in the ECMAScript Internationalization API.
+ */
+
+function isValidNumberingSystem(name) {
+
+ // source: CLDR file common/bcp47/number.xml; version CLDR 21.
+ var numberingSystems = [
+ "arab",
+ "arabext",
+ "armn",
+ "armnlow",
+ "bali",
+ "beng",
+ "brah",
+ "cakm",
+ "cham",
+ "deva",
+ "ethi",
+ "finance",
+ "fullwide",
+ "geor",
+ "grek",
+ "greklow",
+ "gujr",
+ "guru",
+ "hanidec",
+ "hans",
+ "hansfin",
+ "hant",
+ "hantfin",
+ "hebr",
+ "java",
+ "jpan",
+ "jpanfin",
+ "kali",
+ "khmr",
+ "knda",
+ "osma",
+ "lana",
+ "lanatham",
+ "laoo",
+ "latn",
+ "lepc",
+ "limb",
+ "mlym",
+ "mong",
+ "mtei",
+ "mymr",
+ "mymrshan",
+ "native",
+ "nkoo",
+ "olck",
+ "orya",
+ "roman",
+ "romanlow",
+ "saur",
+ "shrd",
+ "sora",
+ "sund",
+ "talu",
+ "takr",
+ "taml",
+ "tamldec",
+ "telu",
+ "thai",
+ "tibt",
+ "traditio",
+ "vaii"
+ ];
+
+ var excluded = [
+ "finance",
+ "native",
+ "traditio"
+ ];
+
+
+ return numberingSystems.indexOf(name) !== -1 && excluded.indexOf(name) === -1;
+}
+
+
+/**
+ * Provides the digits of numbering systems with simple digit mappings,
+ * as specified in 11.3.2.
+ */
+
+var numberingSystemDigits = {
+ arab: "٠١٢٣٤٥٦٧٨٩",
+ arabext: "۰۱۲۳۴۵۶۷۸۹",
+ beng: "০১২৩৪৫৬৭৮৯",
+ deva: "०१२३४५६७८९",
+ fullwide: "0123456789",
+ gujr: "૦૧૨૩૪૫૬૭૮૯",
+ guru: "੦੧੨੩੪੫੬੭੮੯",
+ hanidec: "〇一二三四五六七八九",
+ khmr: "០១២៣៤៥៦៧៨៩",
+ knda: "೦೧೨೩೪೫೬೭೮೯",
+ laoo: "໐໑໒໓໔໕໖໗໘໙",
+ latn: "0123456789",
+ mlym: "൦൧൨൩൪൫൬൭൮൯",
+ mong: "᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙",
+ mymr: "၀၁၂၃၄၅၆၇၈၉",
+ orya: "୦୧୨୩୪୫୬୭୮୯",
+ tamldec: "௦௧௨௩௪௫௬௭௮௯",
+ telu: "౦౧౨౩౪౫౬౭౮౯",
+ thai: "๐๑๒๓๔๕๖๗๘๙",
+ tibt: "༠༡༢༣༤༥༦༧༨༩"
+};
+
+
+/**
+ * Tests that number formatting is handled correctly. The function checks that the
+ * digit sequences in formatted output are as specified, converted to the
+ * selected numbering system, and embedded in consistent localized patterns.
+ * @param {Array} locales the locales to be tested.
+ * @param {Array} numberingSystems the numbering systems to be tested.
+ * @param {Object} options the options to pass to Intl.NumberFormat. Options
+ * must include {useGrouping: false}, and must cause 1.1 to be formatted
+ * pre- and post-decimal digits.
+ * @param {Object} testData maps input data (in ES5 9.3.1 format) to expected output strings
+ * in unlocalized format with Western digits.
+ */
+
+function testNumberFormat(locales, numberingSystems, options, testData) {
+ locales.forEach(function (locale) {
+ numberingSystems.forEach(function (numbering) {
+ var digits = numberingSystemDigits[numbering];
+ var format = new Intl.NumberFormat([locale + "-u-nu-" + numbering], options);
+
+ function getPatternParts(positive) {
+ var n = positive ? 1.1 : -1.1;
+ var formatted = format.format(n);
+ var oneoneRE = "([^" + digits + "]*)[" + digits + "]+([^" + digits + "]+)[" + digits + "]+([^" + digits + "]*)";
+ var match = formatted.match(new RegExp(oneoneRE));
+ if (match === null) {
+ $ERROR("Unexpected formatted " + n + " for " +
+ format.resolvedOptions().locale + " and options " +
+ JSON.stringify(options) + ": " + formatted);
+ }
+ return match;
+ }
+
+ function toNumbering(raw) {
+ return raw.replace(/[0-9]/g, function (digit) {
+ return digits[digit.charCodeAt(0) - "0".charCodeAt(0)];
+ });
+ }
+
+ function buildExpected(raw, patternParts) {
+ var period = raw.indexOf(".");
+ if (period === -1) {
+ return patternParts[1] + toNumbering(raw) + patternParts[3];
+ } else {
+ return patternParts[1] +
+ toNumbering(raw.substring(0, period)) +
+ patternParts[2] +
+ toNumbering(raw.substring(period + 1)) +
+ patternParts[3];
+ }
+ }
+
+ if (format.resolvedOptions().numberingSystem === numbering) {
+ // figure out prefixes, infixes, suffixes for positive and negative values
+ var posPatternParts = getPatternParts(true);
+ var negPatternParts = getPatternParts(false);
+
+ Object.getOwnPropertyNames(testData).forEach(function (input) {
+ var rawExpected = testData[input];
+ var patternParts;
+ if (rawExpected[0] === "-") {
+ patternParts = negPatternParts;
+ rawExpected = rawExpected.substring(1);
+ } else {
+ patternParts = posPatternParts;
+ }
+ var expected = buildExpected(rawExpected, patternParts);
+ var actual = format.format(input);
+ if (actual !== expected) {
+ $ERROR("Formatted value for " + input + ", " +
+ format.resolvedOptions().locale + " and options " +
+ JSON.stringify(options) + " is " + actual + "; expected " + expected + ".");
+ }
+ });
+ }
+ });
+ });
+}
+
+
+/**
+ * Return the components of date-time formats.
+ * @return {Array} an array with all date-time components.
+ */
+
+function getDateTimeComponents() {
+ return ["weekday", "era", "year", "month", "day", "hour", "minute", "second", "timeZoneName"];
+}
+
+
+/**
+ * Return the valid values for the given date-time component, as specified
+ * by the table in section 12.1.1.
+ * @param {string} component a date-time component.
+ * @return {Array} an array with the valid values for the component.
+ */
+
+function getDateTimeComponentValues(component) {
+
+ var components = {
+ weekday: ["narrow", "short", "long"],
+ era: ["narrow", "short", "long"],
+ year: ["2-digit", "numeric"],
+ month: ["2-digit", "numeric", "narrow", "short", "long"],
+ day: ["2-digit", "numeric"],
+ hour: ["2-digit", "numeric"],
+ minute: ["2-digit", "numeric"],
+ second: ["2-digit", "numeric"],
+ timeZoneName: ["short", "long"]
+ };
+
+ var result = components[component];
+ if (result === undefined) {
+ $ERROR("Internal error: No values defined for date-time component " + component + ".");
+ }
+ return result;
+}
+
+
+/**
+ * Tests that the given value is valid for the given date-time component.
+ * @param {string} component a date-time component.
+ * @param {string} value the value to be tested.
+ * @return {boolean} true if the test succeeds.
+ * @exception if the test fails.
+ */
+
+function testValidDateTimeComponentValue(component, value) {
+ if (getDateTimeComponentValues(component).indexOf(value) === -1) {
+ $ERROR("Invalid value " + value + " for date-time component " + component + ".");
+ }
+ return true;
+}
+
+
+/**
+ * Verifies that the actual array matches the expected one in length, elements,
+ * and element order.
+ * @param {Array} expected the expected array.
+ * @param {Array} actual the actual array.
+ * @return {boolean} true if the test succeeds.
+ * @exception if the test fails.
+ */
+function testArraysAreSame(expected, actual) {
+ for (i = 0; i < Math.max(actual.length, expected.length); i++) {
+ if (actual[i] !== expected[i]) {
+ $ERROR("Result array element at index " + i + " should be \"" +
+ expected[i] + "\" but is \"" + actual[i] + "\".");
+ }
+ }
+ return true;
+}
+
diff --git a/website/json/intl402.json b/website/json/intl402.json
index abb678ed3..1d5d7d3cc 100644
--- a/website/json/intl402.json
+++ b/website/json/intl402.json
@@ -1 +1 @@
-{"testsCollection":{"name":"Chapter - intl402","numTests":"66","tests":[{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWdzIGFyZSBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciB2YWxpZExhbmd1YWdlVGFncyA9IFsKICAgICJkZSIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQogICAgImRlLURFIiwgLy8gKyBJU08gMzE2Ni0xIGNvdW50cnkgY29kZQogICAgIkRFLWRlIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQogICAgImNtbiIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQogICAgImNtbi1IYW5zIiwgLy8gKyBzY3JpcHQgY29kZQogICAgIkNNTi1oQU5TIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQogICAgImNtbi1oYW5zLWNuIiwgLy8gKyBJU08gMzE2Ni0xIGNvdW50cnkgY29kZQogICAgImVzLTQxOSIsIC8vICsgVU4gTS40OSByZWdpb24gY29kZQogICAgImVzLTQxOS11LW51LWxhdG4tY3UtYm9iIiwgLy8gKyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gc2VxdWVuY2UKICAgICJpLWtsaW5nb24iLCAvLyBncmFuZGZhdGhlcmVkIHRhZwogICAgImNtbi1oYW5zLWNuLXQtY2EtdS1jYS14LXQtdSIsIC8vIHNpbmdsZXRvbiBzdWJ0YWdzIGNhbiBhbHNvIGJlIHVzZWQgYXMgcHJpdmF0ZSB1c2Ugc3VidGFncwogICAgImVub2NoaWFuLWVub2NoaWFuIiwgLy8gbGFuZ3VhZ2UgYW5kIHZhcmlhbnQgc3VidGFncyBtYXkgYmUgdGhlIHNhbWUKICAgICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSIgLy8gdmFyaWFudCBhbmQgZXh0ZW5zaW9uIHN1YnRhZ3MgbWF5IGJlIHRoZSBzYW1lCl07Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YWxpZExhbmd1YWdlVGFncy5mb3JFYWNoKGZ1bmN0aW9uICh0YWcpIHsKICAgICAgICAvLyB0aGlzIG11c3Qgbm90IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYSB2YWxpZCBsYW5ndWFnZSB0YWcKICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdG9yKFt0YWddKTsKICAgIH0pOwogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that structurally valid language tags are accepted.","path":"TestCases/intl402/ch06/6.2/6.2.2_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxhbmd1YWdlIHRhZ3Mgd2l0aCAiXyIgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBpbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgImRlX0RFIiwKICAgICJERV9kZSIsCiAgICAiY21uX0hhbnMiLAogICAgImNtbi1oYW5zX2NuIiwKICAgICJlc180MTkiLAogICAgImVzLTQxOS11LW51LWxhdG4tY3VfYm9iIiwKICAgICJpX2tsaW5nb24iLAogICAgImNtbi1oYW5zLWNuLXQtY2EtdS1jYS14X3QtdSIsCiAgICAiZW5vY2hpYW5fZW5vY2hpYW4iLAogICAgImRlLWdyZWdvcnlfdS1jYS1ncmVnb3J5IgpdOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgaW52YWxpZExhbmd1YWdlVGFncy5mb3JFYWNoKGZ1bmN0aW9uICh0YWcpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gdGhpcyBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYW4gaW52YWxpZCBsYW5ndWFnZSB0YWcKICAgICAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RvcihbdGFnXSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsYW5ndWFnZSB0YWcgIiArIHRhZyArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICAgICAkRVJST1IoIkludmFsaWQgbGFuZ3VhZ2UgdGFnICIgKyB0YWcgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that language tags with \"_\" are not accepted.","path":"TestCases/intl402/ch06/6.2/6.2.2_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxhbmd1YWdlIHRhZ3Mgd2l0aCBpbnZhbGlkIHN1YnRhZyBzZXF1ZW5jZXMgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBpbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgIiIsIC8vIGVtcHR5IHRhZwogICAgImkiLCAvLyBzaW5nbGV0b24gYWxvbmUKICAgICJ4IiwgLy8gcHJpdmF0ZSB1c2Ugd2l0aG91dCBzdWJ0YWcKICAgICJ1IiwgLy8gZXh0ZW5zaW9uIHNpbmdsZXRvbiBpbiBmaXJzdCBwbGFjZQogICAgIjQxOSIsIC8vIHJlZ2lvbiBjb2RlIGluIGZpcnN0IHBsYWNlCiAgICAidS1udS1sYXRuLWN1LWJvYiIsIC8vIGV4dGVuc2lvbiBzZXF1ZW5jZSB3aXRob3V0IGxhbmd1YWdlCiAgICAiaGFucy1jbW4tY24iLCAvLyAiaGFucyIgY291bGQgdGhlb3JldGljYWxseSBiZSBhIDQtbGV0dGVyIGxhbmd1YWdlIGNvZGUsCiAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhvc2UgY2FuJ3QgYmUgZm9sbG93ZWQgYnkgZXh0bGFuZyBjb2Rlcy4KICAgICJjbW4taGFucy1jbi11LXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiY21uLWhhbnMtY24tdC11LWNhLXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiZGUtZ3JlZ29yeS1ncmVnb3J5IiwgLy8gZHVwbGljYXRlIHZhcmlhbnQKICAgICLkuK3mlociLCAvLyBub24tQVNDSUkgbGV0dGVycwogICAgImVuLcOfIiwgLy8gbm9uLUFTQ0lJIGxldHRlcnMKICAgICLEsWQiIC8vIG5vbi1BU0NJSSBsZXR0ZXJzCl07Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICBpbnZhbGlkTGFuZ3VhZ2VUYWdzLmZvckVhY2goZnVuY3Rpb24gKHRhZykgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyB0aGlzIG11c3QgdGhyb3cgYW4gZXhjZXB0aW9uIGZvciBhbiBpbnZhbGlkIGxhbmd1YWdlIHRhZwogICAgICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdG9yKFt0YWddKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGxhbmd1YWdlIHRhZyAiICsgdGFnICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlJhbmdlRXJyb3IiKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsYW5ndWFnZSB0YWcgIiArIHRhZyArICIgd2FzIHJlamVjdGVkIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that language tags with invalid subtag sequences are not accepted.","path":"TestCases/intl402/ch06/6.2/6.2.2_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBsYW5ndWFnZSB0YWdzIGFyZSBjYW5vbmljYWxpemVkIGluIHJldHVybiB2YWx1ZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgY2Fub25pY2FsaXplZFRhZ3MgPSB7CiAgICAiZGUiOiBbImRlIl0sCiAgICAiZGUtREUiOiBbImRlLURFIiwgImRlIl0sCiAgICAiREUtZGUiOiBbImRlLURFIiwgImRlIl0sCiAgICAiY21uIjogWyJjbW4iXSwKICAgICJDTU4taEFOUyI6IFsiY21uLUhhbnMiLCAiY21uIl0sCiAgICAiY21uLWhhbnMtY24iOiBbImNtbi1IYW5zLUNOIiwgImNtbi1IYW5zIiwgImNtbiJdLAogICAgImVzLTQxOSI6IFsiZXMtNDE5IiwgImVzIl0sCiAgICAiZXMtNDE5LXUtbnUtbGF0biI6IFsiZXMtNDE5LXUtbnUtbGF0biIsICJlcy00MTkiLCAiZXMiLCAiZXMtdS1udS1sYXRuIl0sCiAgICAvLyAtdS1jYSBpcyBpbmNvbXBsZXRlLCBzbyBpdCB3aWxsIG5vdCBzaG93IHVwIGluIHJlc29sdmVkT3B0aW9ucygpLmxvY2FsZQogICAgImNtbi1oYW5zLWNuLXUtY2EtdC1jYS14LXQtdSI6IFsiY21uLUhhbnMtQ04tdC1jYS11LWNhLXgtdC11IiwgImNtbi1IYW5zLUNOLXQtY2EteC10LXUiLCAiY21uLUhhbnMtQ04tdC1jYS14LXQiLCAiY21uLUhhbnMtQ04tdC1jYSIsICJjbW4tSGFucy1DTiIsICJjbW4tSGFucyIsICJjbW4iXSwKICAgICJlbm9jaGlhbi1lbm9jaGlhbiI6IFsiZW5vY2hpYW4tZW5vY2hpYW4iLCAiZW5vY2hpYW4iXSwKICAgICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSI6IFsiZGUtZ3JlZ29yeS11LWNhLWdyZWdvcnkiLCAiZGUtZ3JlZ29yeSIsICJkZS11LWNhLWdyZWdvcnkiLCAiZGUiXSwKICAgICJuby1ueW4iOiBbIm5uIl0sCiAgICAiaS1rbGluZ29uIjogWyJ0bGgiXSwKICAgICJzZ24tR1IiOiBbImdzcyJdLAogICAgImppIjogWyJ5aSJdLAogICAgImRlLUREIjogWyJkZS1ERSIsICJkZSJdLAogICAgInpoLWhhay1DTiI6IFsiaGFrLUNOIiwgImhhayJdLAogICAgInNnbi1pbHMiOiBbImlscyJdLAogICAgImluIjogWyJpZCJdCn07CgovLyBtYWtlIHN1cmUgdGhlIGRhdGEgYWJvdmUgaXMgY29ycmVjdApPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjYW5vbmljYWxpemVkVGFncykuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7CiAgICBjYW5vbmljYWxpemVkVGFnc1t0YWddLmZvckVhY2goZnVuY3Rpb24gKGNhbm9uaWNhbFRhZykgewogICAgICAgIGlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhjYW5vbmljYWxUYWcpKSB7CiAgICAgICAgICAgICRFUlJPUigiVGVzdCBkYXRhIFwiIiArIGNhbm9uaWNhbFRhZyArICJcIiBpcyBub3QgY2Fub25pY2FsaXplZCBhbmQgc3RydWN0dXJhbGx5IHZhbGlkIGxhbmd1YWdlIHRhZy4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7CgovLyBub3cgdGhlIGFjdHVhbCB0ZXN0CnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY2Fub25pY2FsaXplZFRhZ3MpLmZvckVhY2goZnVuY3Rpb24gKHRhZykgewogICAgICAgIC8vIHVzZSBsb29rdXAgbG9jYWxlIG1hdGNoZXIgdG8ga2VlcCB0aGUgc2V0IG9mIHBvc3NpYmxlIHJldHVybiB2YWx1ZXMgcHJlZGljdGFibGUKCiAgICAgICAgLy8gVmFyaWFudCAxOiBjb25zdHJ1Y3QgYW4gb2JqZWN0IGFuZCBzZWUgd2hldGhlciBpdHMgbG9jYWxlIGlzIGNhbm9uaWNhbGl6ZWQuCiAgICAgICAgLy8gSW4gdGhpcyB2YXJpYW50LCBzaG9ydGVuZWQgZm9ybXMgb3IgdGhlIGRlZmF1bHQgbG9jYWxlIG1heSBiZSByZXR1cm5lZAogICAgICAgIHZhciBvYmplY3QgPSBuZXcgQ29uc3RydWN0b3IoW3RhZ10sIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwogICAgICAgIHZhciBsb2NhbGUgPSBvYmplY3QucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgICAgIGlmIChjYW5vbmljYWxpemVkVGFnc1t0YWddLmluZGV4T2YobG9jYWxlKSA9PT0gLTEgJiYgbG9jYWxlICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAgICAgICAgICRFUlJPUigiRm9yICIgKyB0YWcgKyAiIGdvdCAiICsgbG9jYWxlICsgIjsgZXhwZWN0ZWQgb25lIG9mICIgKwogICAgICAgICAgICAgICAgY2Fub25pY2FsaXplZFRhZ3NbdGFnXS5qb2luKCIsICIpICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gVmFyaWFudCAyOiBnZXQgdGhlIHN1cHBvcnRlZCBsb2NhbGVzLiBJZiB0aGUgdGFnIGlzIHN1cHBvcnRlZCwgaXQgc2hvdWxkIGJlIHJldHVybmVkIGNhbm9uaWNhbGl6ZWQgYnV0IHVuc2hvcnRlbmVkCiAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbdGFnXSk7CiAgICAgICAgaWYgKHN1cHBvcnRlZC5sZW5ndGggPiAwICYmIHN1cHBvcnRlZFswXSAhPT0gY2Fub25pY2FsaXplZFRhZ3NbdGFnXVswXSkgewogICAgICAgICAgICAkRVJST1IoIkZvciAiICsgdGFnICsgIiBnb3QgIiArIHN1cHBvcnRlZFswXSArICI7IGV4cGVjdGVkICIgKwogICAgICAgICAgICAgICAgY2Fub25pY2FsaXplZFRhZ3NbdGFnXVswXSArICIuIik7CiAgICAgICAgfSAgICAgICAgICAgIAogICAgfSk7CiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that language tags are canonicalized in return values.","path":"TestCases/intl402/ch06/6.2/6.2.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBkZWZhdWx0IGxvY2FsZSBpcyBhIFN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlCiAqIHN0cnVjdHVyYWxseSB2YWxpZCBhbmQgY2Fub25pY2FsaXplZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICBpZiAoIWlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcoZGVmYXVsdExvY2FsZSkpIHsKICAgICAgICAkRVJST1IoIkRlZmF1bHQgbG9jYWxlIFwiIiArIGRlZmF1bHRMb2NhbGUgKyAiXCIgaXMgbm90IGNhbm9uaWNhbGl6ZWQgYW5kIHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWcuIik7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that the default locale is a String value representing the\nstructurally valid and canonicalized BCP 47 language tag.","path":"TestCases/intl402/ch06/6.2/6.2.4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHdlbGwtZm9ybWVkIGN1cnJlbmN5IGNvZGVzIGFyZSBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgd2VsbEZvcm1lZEN1cnJlbmN5Q29kZXMgPSBbCiAgICAiQk9CIiwKICAgICJFVVIiLAogICAgInVzZCIsIC8vIGN1cnJlbmN5IGNvZGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiWGRSIiwKICAgICJ4VHMiCl07Cgp3ZWxsRm9ybWVkQ3VycmVuY3lDb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uIChjb2RlKSB7CiAgICAvLyB0aGlzIG11c3Qgbm90IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYSB2YWxpZCBjdXJyZW5jeSBjb2RlCiAgICB2YXIgZm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFsiZGUtZGUiXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogY29kZX0pOwogICAgaWYgKGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeSAhPT0gY29kZS50b1VwcGVyQ2FzZSgpKSB7CiAgICAgICAgJEVSUk9SKCJDdXJyZW5jeSAiICsgY29kZSArICIgd2FzIG5vdCBjb3JyZWN0bHkgYWNjZXB0ZWQ7IHR1cm5lZCBpbnRvICIgKwogICAgICAgICAgICBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkuY3VycmVuY3kgKyAiLiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that well-formed currency codes are accepted.","path":"TestCases/intl402/ch06/6.3/6.3.1_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGludmFsaWQgY3VycmVuY3kgY29kZXMgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgaW52YWxpZEN1cnJlbmN5Q29kZXMgPSBbCiAgICAi4oKsIiwKICAgICIkIiwKICAgICJTRnIuIiwKICAgICJETSIsCiAgICAiS1LigqkiLAogICAgIjcwMiIsCiAgICAiw59QIiwKICAgICLEsW5yIgpdOwoKaW52YWxpZEN1cnJlbmN5Q29kZXMuZm9yRWFjaChmdW5jdGlvbiAoY29kZSkgewogICAgdmFyIGVycm9yOwogICAgdHJ5IHsKICAgICAgICAvLyB0aGlzIG11c3QgdGhyb3cgYW4gZXhjZXB0aW9uIGZvciBhbiBpbnZhbGlkIGN1cnJlbmN5IGNvZGUKICAgICAgICB2YXIgZm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFsiZGUtZGUiXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogY29kZX0pOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGN1cnJlbmN5IGNvZGUgIiArIGNvZGUgKyAiIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICRFUlJPUigiSW52YWxpZCBjdXJyZW5jeSBjb2RlICIgKyBjb2RlICsgIiB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0pOwoK","commentary":"","description":"Tests that invalid currency codes are not accepted.","path":"TestCases/intl402/ch06/6.3/6.3.1_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHZhbGlkIHRpbWUgem9uZSBuYW1lcyBhcmUgYWNjZXB0ZWQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIHZhbGlkVGltZVpvbmVOYW1lcyA9IFsKICAgICJVVEMiLAogICAgInV0YyIgLy8gdGltZSB6b25lIG5hbWVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCl07Cgp2YWxpZFRpbWVab25lTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkgewogICAgLy8gdGhpcyBtdXN0IG5vdCB0aHJvdyBhbiBleGNlcHRpb24gZm9yIGEgdmFsaWQgdGltZSB6b25lIG5hbWUKICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChbImRlLWRlIl0sIHt0aW1lWm9uZTogbmFtZX0pOwogICAgaWYgKGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSAhPT0gbmFtZS50b1VwcGVyQ2FzZSgpKSB7CiAgICAgICAgJEVSUk9SKCJUaW1lIHpvbmUgbmFtZSAiICsgbmFtZSArICIgd2FzIG5vdCBjb3JyZWN0bHkgYWNjZXB0ZWQ7IHR1cm5lZCBpbnRvICIgKwogICAgICAgICAgICBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUgKyAiLiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that valid time zone names are accepted.","path":"TestCases/intl402/ch06/6.4/6.4_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGludmFsaWQgdGltZSB6b25lIG5hbWVzIGFyZSBub3QgYWNjZXB0ZWQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGludmFsaWRUaW1lWm9uZU5hbWVzID0gWwogICAgIiIsCiAgICAiTUVaIiwgLy8gbG9jYWxpemVkIGFiYnJldmlhdGlvbgogICAgIlBhY2lmaWMgVGltZSIsIC8vIGxvY2FsaXplZCBsb25nIGZvcm0KICAgICJjbnNoYSIsIC8vIEJDUCA0NyB0aW1lIHpvbmUgY29kZQogICAgImludmFsaWQiLCAvLyBhcyB0aGUgbmFtZSBzYXlzCiAgICAiRXVyb3BlL8Swc3RhbmJ1bCIsIC8vIG5vbi1BU0NJSSBsZXR0ZXIKICAgICJhc8SxYS9iYWt1IiwgLy8gbm9uLUFTQ0lJIGxldHRlcgogICAgImV1cm9wZS9icnXDn2VscyIgIC8vIG5vbi1BU0NJSSBsZXR0ZXIKXTsKCmludmFsaWRUaW1lWm9uZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgLy8gdGhpcyBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYW4gaW52YWxpZCB0aW1lIHpvbmUgbmFtZQogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChbImRlLWRlIl0sIHt0aW1lWm9uZTogbmFtZX0pOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnZhbGlkIHRpbWUgem9uZSBuYW1lICIgKyBuYW1lICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSAiUmFuZ2VFcnJvciIpIHsKICAgICAgICAkRVJST1IoIkludmFsaWQgdGltZSB6b25lIG5hbWUgIiArIG5hbWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that invalid time zone names are not accepted.","path":"TestCases/intl402/ch06/6.4/6.4_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFkZGl0aW9uYWwgdGltZSB6b25lIG5hbWVzLCBpZiBhY2NlcHRlZCwgYXJlIGhhbmRsZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCi8vIGNhbm9uaWNhbGl6YXRpb24gc3BlY2lmaWVkIGluIGNvbmZvcm1hbmNlIGNsYXVzZQp2YXIgYWRkaXRpb25hbFRpbWVab25lTmFtZXMgPSB7CiAgICAiRXRjL0dNVCI6ICJVVEMiLAogICAgIkdyZWVud2ljaCI6ICJVVEMiLAogICAgIlBSQyI6ICJBc2lhL1NoYW5naGFpIiwKICAgICJBbUVySWNBL0xvU19hTmdFbEVzIjogIkFtZXJpY2EvTG9zX0FuZ2VsZXMiLAogICAgImV0Yy9nbXQrNyI6ICJFdGMvR01UKzciCn07CgpPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhZGRpdGlvbmFsVGltZVpvbmVOYW1lcykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkgewogICAgdmFyIGZvcm1hdCwgZXJyb3I7CiAgICB0cnkgewogICAgICAgIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtdLCB7dGltZVpvbmU6IG5hbWV9KTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBlcnJvciA9IGU7CiAgICB9CiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgIHZhciBhY3R1YWwgPSBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7CiAgICAgICAgdmFyIGV4cGVjdGVkID0gYWRkaXRpb25hbFRpbWVab25lTmFtZXMubmFtZTsKICAgICAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewogICAgICAgICAgICAkRVJST1IoIlRpbWUgem9uZSBuYW1lICIgKyBuYW1lICsgIiB3YXMgYWNjZXB0ZWQsIGJ1dCBpbmNvcnJlY3RseSBjYW5vbmljYWxpemVkIHRvICIgKwogICAgICAgICAgICAgICAgYWN0dWFsICsgIjsgZXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIi4iKTsKICAgICAgICB9CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICRFUlJPUigiVGltZSB6b25lIG5hbWUgIiArIG5hbWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that additional time zone names, if accepted, are handled correctly.","path":"TestCases/intl402/ch06/6.4/6.4_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLCBmYWxzZSwgZmFsc2UsIFsiQ29sbGF0b3IiLCAiTnVtYmVyRm9ybWF0IiwgIkRhdGVUaW1lRm9ybWF0Il0pOwoK","commentary":"","description":"Tests that Intl\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch08/8.0/8.0_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGRlZmF1bHQgbG9jYWxlIGlzIGF2YWlsYWJsZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgdmFyIHN1cHBvcnRlZExvY2FsZXMgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGVdKTsKICAgIGlmIChzdXBwb3J0ZWRMb2NhbGVzLmluZGV4T2YoZGVmYXVsdExvY2FsZSkgPT09IC0xKSB7CiAgICAgICAgJEVSUk9SKCJEZWZhdWx0IGxvY2FsZSBpcyBub3QgcmVwb3J0ZWQgYXMgYXZhaWxhYmxlLiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that default locale is available.","path":"TestCases/intl402/ch09/9.1/9.1_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFwcHJvcHJpYXRlIGZhbGxiYWNrIGxvY2FsZXMgYXJlIHByb3ZpZGVkIGZvcgogKiAgICAgc3VwcG9ydGVkIGxvY2FsZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgIHZhciBmYWxsYmFjazsKICAgIGluZm8uc3VwcG9ydGVkLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgICAgIHZhciBwb3MgPSBsb2NhbGUubGFzdEluZGV4T2YoIi0iKTsKICAgICAgICBpZiAocG9zICE9PSAtMSkgewogICAgICAgICAgICBmYWxsYmFjayA9IGxvY2FsZS5zdWJzdHJpbmcoMCwgcG9zKTsKICAgICAgICAgICAgaWYgKGluZm8uc3VwcG9ydGVkLmluZGV4T2YoZmFsbGJhY2spID09PSAtMSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIGxvY2FsZSArICIgaXMgc3VwcG9ydGVkLCBidXQgZmFsbGJhY2sgIiArIGZhbGxiYWNrICsgIiBpc24ndC4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2YXIgbWF0Y2ggPSAvKFthLXpdezIsM30pKC1bQS1aXVthLXpdezN9KSgtW0EtWl17Mn0pLy5leGVjKGxvY2FsZSk7CiAgICAgICAgaWYgKG1hdGNoICE9PSBudWxsKSB7CiAgICAgICAgICAgIGZhbGxiYWNrID0gbWF0Y2hbMV0gKyBtYXRjaFszXTsKICAgICAgICAgICAgaWYgKGluZm8uc3VwcG9ydGVkLmluZGV4T2YoZmFsbGJhY2spID09PSAtMSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIGxvY2FsZSArICIgaXMgc3VwcG9ydGVkLCBidXQgZmFsbGJhY2sgIiArIGZhbGxiYWNrICsgIiBpc24ndC4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pOwp9KTsKCg==","commentary":"","description":"Tests that appropriate fallback locales are provided for\n supported locales.","path":"TestCases/intl402/ch09/9.1/9.1_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNhbm9uaWNhbGl6YXRpb24gb2YgbG9jYWxlIGxpc3RzIHRyZWF0cyB1bmRlZmluZWQgYW5kIGVtcHR5IGxpc3RzIHRoZSBzYW1lLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIHN1cHBvcnRlZEZvclVuZGVmaW5lZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZih1bmRlZmluZWQpOwogICAgdmFyIHN1cHBvcnRlZEZvckVtcHR5TGlzdCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbXSk7CiAgICBpZiAoc3VwcG9ydGVkRm9yVW5kZWZpbmVkLmxlbmd0aCAhPT0gc3VwcG9ydGVkRm9yRW1wdHlMaXN0Lmxlbmd0aCkgewogICAgICAgICRFUlJPUigiU3VwcG9ydGVkIGxvY2FsZXMgZGlmZmVyIGJldHdlZW4gdW5kZWZpbmVkIGFuZCBlbXB0eSBsaXN0IGlucHV0LiIpOwogICAgfQogICAgLy8gd2UgZG9uJ3QgY29tcGFyZSB0aGUgZWxlbWVudHMgYmVjYXVzZSBsZW5ndGggc2hvdWxkIGJlIDAgLSBsZXQncyBqdXN0IHZlcmlmeSB0aGF0CiAgICBpZiAoc3VwcG9ydGVkRm9yVW5kZWZpbmVkLmxlbmd0aCAhPT0gMCkgewogICAgICAgICRFUlJPUigiSW50ZXJuYWwgdGVzdCBlcnJvcjogQXNzdW1wdGlvbiBhYm91dCBsZW5ndGggYmVpbmcgMCBpcyBpbnZhbGlkLiIpOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that canonicalization of locale lists treats undefined and empty lists the same.","path":"TestCases/intl402/ch09/9.2/9.2.1_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIExpc3QgaXMgbm90IGFmZmVjdGVkIGJ5IGFkdmVyc2FyaWFsCiAqICAgICBjaGFuZ2VzIHRvIEFycmF5LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50QXJyYXkoKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgdmFyIGNhbm9uaWNhbGl6ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGUsIGRlZmF1bHRMb2NhbGVdKTsKICAgIGlmIChjYW5vbmljYWxpemVkLmxlbmd0aCA+IDEpIHsKICAgICAgICAkRVJST1IoIkNhbm9uaWNhbGl6YXRpb24gZGlkbid0IHJlbW92ZSBkdXBsaWNhdGUgbGFuZ3VhZ2UgdGFncyBmcm9tIGxvY2FsZSBsaXN0LiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that the behavior of a List is not affected by adversarial\n changes to Array.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.1_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGEgc2luZ2xlIHN0cmluZyBpbnN0ZWFkIG9mIGEgbG9jYWxlIGxpc3QgaXMgdHJlYXRlZAogKiAgICAgYXMgdGhlIGxvY2FsZSBsaXN0IGNvbnRhaW5pbmcgdGhhdCBzdHJpbmcuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgdmFsaWRBbmRJbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgImRlIiwgLy8gSVNPIDYzOSBsYW5ndWFnZSBjb2RlCiAgICAiZGUtREUiLCAvLyArIElTTyAzMTY2LTEgY291bnRyeSBjb2RlCiAgICAiREUtZGUiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiY21uIiwgLy8gSVNPIDYzOSBsYW5ndWFnZSBjb2RlCiAgICAiY21uLUhhbnMiLCAvLyArIHNjcmlwdCBjb2RlCiAgICAiQ01OLWhBTlMiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiY21uLWhhbnMtY24iLCAvLyArIElTTyAzMTY2LTEgY291bnRyeSBjb2RlCiAgICAiZXMtNDE5IiwgLy8gKyBVTiBNLjQ5IHJlZ2lvbiBjb2RlCiAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdS1ib2IiLCAvLyArIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZQogICAgImkta2xpbmdvbiIsIC8vIGdyYW5kZmF0aGVyZWQgdGFnCiAgICAiY21uLWhhbnMtY24tdC1jYS11LWNhLXgtdC11IiwgLy8gc2luZ2xldG9uIHN1YnRhZ3MgY2FuIGFsc28gYmUgdXNlZCBhcyBwcml2YXRlIHVzZSBzdWJ0YWdzCiAgICAiZW5vY2hpYW4tZW5vY2hpYW4iLCAvLyBsYW5ndWFnZSBhbmQgdmFyaWFudCBzdWJ0YWdzIG1heSBiZSB0aGUgc2FtZQogICAgImRlLWdyZWdvcnktdS1jYS1ncmVnb3J5IiwgLy8gdmFyaWFudCBhbmQgZXh0ZW5zaW9uIHN1YnRhZ3MgbWF5IGJlIHRoZSBzYW1lCiAgICAiZGVfREUiLAogICAgIkRFX2RlIiwKICAgICJjbW5fSGFucyIsCiAgICAiY21uLWhhbnNfY24iLAogICAgImVzXzQxOSIsCiAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdV9ib2IiLAogICAgImlfa2xpbmdvbiIsCiAgICAiY21uLWhhbnMtY24tdC1jYS11LWNhLXhfdC11IiwKICAgICJlbm9jaGlhbl9lbm9jaGlhbiIsCiAgICAiZGUtZ3JlZ29yeV91LWNhLWdyZWdvcnkiLAogICAgImkiLCAvLyBzaW5nbGV0b24gYWxvbmUKICAgICJ4IiwgLy8gcHJpdmF0ZSB1c2Ugd2l0aG91dCBzdWJ0YWcKICAgICJ1IiwgLy8gZXh0ZW5zaW9uIHNpbmdsZXRvbiBpbiBmaXJzdCBwbGFjZQogICAgIjQxOSIsIC8vIHJlZ2lvbiBjb2RlIGluIGZpcnN0IHBsYWNlCiAgICAidS1udS1sYXRuLWN1LWJvYiIsIC8vIGV4dGVuc2lvbiBzZXF1ZW5jZSB3aXRob3V0IGxhbmd1YWdlCiAgICAiaGFucy1jbW4tY24iLCAvLyAiaGFucyIgY291bGQgdGhlb3JldGljYWxseSBiZSBhIDQtbGV0dGVyIGxhbmd1YWdlIGNvZGUsCiAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhvc2UgY2FuJ3QgYmUgZm9sbG93ZWQgYnkgZXh0bGFuZyBjb2Rlcy4KICAgICJjbW4taGFucy1jbi11LXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiY21uLWhhbnMtY24tdC11LWNhLXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiZGUtZ3JlZ29yeS1ncmVnb3J5IiAvLyBkdXBsaWNhdGUgdmFyaWFudApdOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFsaWRBbmRJbnZhbGlkTGFuZ3VhZ2VUYWdzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgICAgIHZhciBvYmoxLCBvYmoyLCBsb2NhbGUxLCBsb2NhbGUyLCBlcnJvcjEsIGVycm9yMjsKICAgICAgICB0cnkgewogICAgICAgICAgICBvYmoxID0gbmV3IENvbnN0cnVjdG9yKGxvY2FsZSk7CiAgICAgICAgICAgIGxvY2FsZTEgPSBvYmoxLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yMSA9IGU7CiAgICAgICAgfQogICAgICAgIHRyeSB7CiAgICAgICAgICAgIG9iajIgPSBuZXcgQ29uc3RydWN0b3IoW2xvY2FsZV0pOwogICAgICAgICAgICBsb2NhbGUyID0gb2JqMi5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvcjIgPSBlOwogICAgICAgIH0KCiAgICAgICAgaWYgKChlcnJvcjEgPT09IHVuZGVmaW5lZCkgIT09IChlcnJvcjIgPT09IHVuZGVmaW5lZCkpIHsKICAgICAgICAgICAgaWYgKGVycm9yMSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKwogICAgICAgICAgICAgICAgICAgICIgd2FzIGFjY2VwdGVkLCBidXQgbG9jYWxlIGxpc3QgY29udGFpbmluZyB0aGF0IHN0cmluZyB3YXNuJ3QuIik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKwogICAgICAgICAgICAgICAgICAgICIgd2FzIHJlamVjdGVkLCBidXQgbG9jYWxlIGxpc3QgY29udGFpbmluZyB0aGF0IHN0cmluZyB3YXNuJ3QuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGVycm9yMSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICBpZiAobG9jYWxlMSAhPT0gbG9jYWxlMikgewogICAgICAgICAgICAgICAgJEVSUk9SKCJTaW5nbGUgbG9jYWxlIHN0cmluZyAiICsgbG9jYWxlICsgIiByZXN1bHRzIGluICIgKyBsb2NhbGUxICsKICAgICAgICAgICAgICAgICAgICAiLCBidXQgbG9jYWxlIGxpc3QgWyIgKyBsb2NhbGUgKyAiXSByZXN1bHRzIGluICIgKyBsb2NhbGUyICsgIi4iKTsKICAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoZXJyb3IxLm5hbWUgIT09IGVycm9yMi5uYW1lKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKyAiIHJlc3VsdHMgaW4gZXJyb3IgIiArIGVycm9yMS5uYW1lICsKICAgICAgICAgICAgICAgICAgICAiLCBidXQgbG9jYWxlIGxpc3QgWyIgKyBsb2NhbGUgKyAiXSByZXN1bHRzIGluIGVycm9yICIgKyBlcnJvcjIubmFtZSArICIuIik7CiAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that a single string instead of a locale list is treated\n as the locale list containing that string.","path":"TestCases/intl402/ch09/9.2/9.2.1_3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG5vbi1vYmplY3RzIGFyZSBjb252ZXJ0ZWQgdG8gb2JqZWN0cyBiZWZvcmUgY2Fub25pY2FsaXphdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNlcGFyYXRlbHkKICAgIAogICAgLy8gbnVsbCBzaG91bGQgcmVzdWx0IGluIGEgVHlwZUVycm9yCiAgICB2YXIgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciBzdXBwb3J0ZWRGb3JOdWxsID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKG51bGwpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJOdWxsIGFzIGxvY2FsZSBsaXN0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJOdWxsIGFzIGxvY2FsZSBsaXN0IHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0gICAgCiAgICAKICAgIC8vIGxldCdzIHVzZSBhbiBlbXB0eSBsaXN0IGZvciBjb21wYXJpc29uCiAgICB2YXIgc3VwcG9ydGVkRm9yRW1wdHlMaXN0ID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtdKTsKICAgIC8vIHdlIGRvbid0IGNvbXBhcmUgdGhlIGVsZW1lbnRzIGJlY2F1c2UgbGVuZ3RoIHNob3VsZCBiZSAwIC0gbGV0J3MganVzdCB2ZXJpZnkgdGhhdAogICAgaWYgKHN1cHBvcnRlZEZvckVtcHR5TGlzdC5sZW5ndGggIT09IDApIHsKICAgICAgICAkRVJST1IoIkludGVybmFsIHRlc3QgZXJyb3I6IEFzc3VtcHRpb24gYWJvdXQgbGVuZ3RoIGJlaW5nIDAgaXMgaW52YWxpZC4iKTsKICAgIH0KCiAgICAvLyBtb3N0IG5vbi1vYmplY3RzIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgZW1wdHkgbGlzdHMgYmVjYXVzZSBhIG1pc3NpbmcgbGVuZ3RoIHByb3BlcnR5IGlzIGludGVycHJldGVkIGFzIDAKICAgIHZhciBzdXBwb3J0ZWRGb3JOdW1iZXIgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoNSk7CiAgICBpZiAoc3VwcG9ydGVkRm9yTnVtYmVyLmxlbmd0aCAhPT0gc3VwcG9ydGVkRm9yRW1wdHlMaXN0Lmxlbmd0aCkgewogICAgICAgICRFUlJPUigiU3VwcG9ydGVkIGxvY2FsZXMgZGlmZmVyIGJldHdlZW4gbnVtZXJpYyBhbmQgZW1wdHkgbGlzdCBpbnB1dC4iKTsKICAgIH0KICAgIHZhciBzdXBwb3J0ZWRGb3JCb29sZWFuID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKHRydWUpOwogICAgaWYgKHN1cHBvcnRlZEZvckJvb2xlYW4ubGVuZ3RoICE9PSBzdXBwb3J0ZWRGb3JFbXB0eUxpc3QubGVuZ3RoKSB7CiAgICAgICAgJEVSUk9SKCJTdXBwb3J0ZWQgbG9jYWxlcyBkaWZmZXIgYmV0d2VlbiBib29sZWFuIGFuZCBlbXB0eSBsaXN0IGlucHV0LiIpOwogICAgfQogICAgCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that non-objects are converted to objects before canonicalization.","path":"TestCases/intl402/ch09/9.2/9.2.1_4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHZhbHVlcyBvdGhlciB0aGFuIHN0cmluZ3MgYXJlIG5vdCBhY2NlcHRlZCBhcyBsb2NhbGVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIG5vdFN0cmluZ09yT2JqZWN0ID0gW3VuZGVmaW5lZCwgbnVsbCwgdHJ1ZSwgZmFsc2UsIDAsIDUsIC01LCBOYU5dOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgbm90U3RyaW5nT3JPYmplY3QuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbdmFsdWVdKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCIiICsgdmFsdWUgKyAiIGFzIGxvY2FsZSB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCIiICsgdmFsdWUgKyAiIGFzIGxvY2FsZSB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that values other than strings are not accepted as locales.","path":"TestCases/intl402/ch09/9.2/9.2.1_8_c_ii.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNhbm9uaWNhbGl6YXRpb24gb2YgbG9jYWxlIGxpc3RzIHJlbW92ZXMgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBDb25zdHJ1Y3RvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIHZhciBjYW5vbmljYWxpemVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlLCBkZWZhdWx0TG9jYWxlXSk7CiAgICBpZiAoY2Fub25pY2FsaXplZC5sZW5ndGggPiAxKSB7CiAgICAgICAgJEVSUk9SKCJDYW5vbmljYWxpemF0aW9uIGRpZG4ndCByZW1vdmUgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MgZnJvbSBsb2NhbGUgbGlzdC4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that canonicalization of locale lists removes duplicate language tags.","path":"TestCases/intl402/ch09/9.2/9.2.1_8_c_vi.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZXMgdGhhdCBhcmUgcmVwb3J0ZWQgYnkgcmVzb2x2ZWRPcHRpb25zCiAqICAgICBhcmUgYWxzbyByZXBvcnRlZCBieSBzdXBwb3J0ZWRMb2NhbGVzT2YuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgIC8vIHRoaXMgdGVzdCBzaG91bGQgd29yayBlcXVhbGx5IGZvciBib3RoIG1hdGNoaW5nIGFsZ29yaXRobXMKICAgIFsibG9va3VwIiwgImJlc3QgZml0Il0uZm9yRWFjaChmdW5jdGlvbiAobWF0Y2hlcikgewogICAgICAgIHZhciBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yID0gaW5mby5zdXBwb3J0ZWQuY29uY2F0KGluZm8uYnlGYWxsYmFjayk7CiAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yLAogICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIC8vIHdlIGNvdWxkIGNoZWNrIHRoZSBsZW5ndGggZmlyc3QsIGJ1dCBpdCdzIHByb2JhYmx5IG1vcmUgaW50ZXJlc3Rpbmcgd2hpY2ggbG9jYWxlcyBhcmUgbWlzc2luZwogICAgICAgIHZhciBpID0gMDsKICAgICAgICB2YXIgbGltaXQgPSBNYXRoLm1pbihzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yLmxlbmd0aCwgc3VwcG9ydGVkLmxlbmd0aCk7CiAgICAgICAgd2hpbGUgKGkgPCBsaW1pdCAmJiBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yW2ldID09PSBzdXBwb3J0ZWRbaV0pIHsKICAgICAgICAgICAgaSsrOwogICAgICAgIH0KICAgICAgICBpZiAoaSA8IHN1cHBvcnRlZEJ5Q29uc3RydWN0b3IubGVuZ3RoKSB7CiAgICAgICAgICAgICRFUlJPUigiTG9jYWxlICIgKyBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yW2ldICsKICAgICAgICAgICAgICAgICIgaXMgcmV0dXJuZWQgYnkgcmVzb2x2ZWRPcHRpb25zIGJ1dCBub3QgYnkgc3VwcG9ydGVkTG9jYWxlc09mLiIpOwogICAgICAgIH0gZWxzZSBpZiAoaSA8IHN1cHBvcnRlZC5sZW5ndGgpIHsKICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIHN1cHBvcnRlZFtpXSArCiAgICAgICAgICAgICAgICAiIGlzIHJldHVybmVkIGJ5IHN1cHBvcnRlZExvY2FsZXNPZiBidXQgbm90IGJ5IHJlc29sdmVkT3B0aW9ucy4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgLy8gdGhpcyB0ZXN0IGlzIG9ubHkgdmFsaWQgZm9yIGxvb2t1cCAtIGJlc3QgZml0IG1heSBmaW5kIGFkZGl0aW9uYWwgbG9jYWxlcyBzdXBwb3J0ZWQKICAgIHZhciB1bnN1cHBvcnRlZEJ5Q29uc3RydWN0b3IgPSBpbmZvLnVuc3VwcG9ydGVkOwogICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZih1bnN1cHBvcnRlZEJ5Q29uc3RydWN0b3IsCiAgICAgICAgICAgIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwogICAgaWYgKHN1cHBvcnRlZC5sZW5ndGggPiAwKSB7CiAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIHN1cHBvcnRlZFswXSArCiAgICAgICAgICAgICIgaXMgcmV0dXJuZWQgYnkgc3VwcG9ydGVkTG9jYWxlc09mIGJ1dCBub3QgYnkgcmVzb2x2ZWRPcHRpb25zLiIpOwogICAgfQoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that locales that are reported by resolvedOptions\n are also reported by supportedLocalesOf.","path":"TestCases/intl402/ch09/9.2/9.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZSIsICJleHRlbnNpb24iLCAiZXh0ZW5zaW9uSW5kZXgiXSk7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgbG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKHVuZGVmaW5lZCwge2xvY2FsZU1hdGNoZXI6ICJsb29rdXAifSkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgaWYgKCFpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGxvY2FsZSkpIHsKICAgICAgICAkRVJST1IoIkNvbnN0cnVjdG9yIHJldHVybnMgaW52YWxpZCBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7CiAgICB9CgogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.3_5.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBtaXNzaW5nIFVuaWNvZGUgZXh0ZW5zaW9uIHZhbHVlcyBkZWZhdWx0IHRvIHRydWUgZm9yCiAqICAgICBib29sZWFuIGtleXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGV4dGVuc2lvbnMgPSBbIi11LWNvLXBob25lYmsta24iLCAiLXUta24tY28tcGhvbmViayJdOwpleHRlbnNpb25zLmZvckVhY2goZnVuY3Rpb24gKGV4dGVuc2lvbikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIHZhciBjb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKFtkZWZhdWx0TG9jYWxlICsgZXh0ZW5zaW9uXSwge3VzYWdlOiAic29ydCJ9KTsKICAgIHZhciBsb2NhbGUgPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICB2YXIgbnVtZXJpYyA9IGNvbGxhdG9yLnJlc29sdmVkT3B0aW9ucygpLm51bWVyaWM7CiAgICBpZiAobnVtZXJpYyAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKG51bWVyaWMgIT09IHRydWUpIHsKICAgICAgICAgICAgJEVSUk9SKCJEZWZhdWx0IHZhbHVlIGZvciBcImtuXCIgc2hvdWxkIGJlIHRydWUsIGJ1dCBpcyAiICsgbnVtZXJpYyArICIuIik7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhbGUuaW5kZXhPZigiLWtuIikgIT09IC0xKSB7CiAgICAgICAgICAgICRFUlJPUigiXCJrblwiIGlzIHJldHVybmVkIGluIGxvY2FsZSwgYnV0IHNob3VsZG4ndCBiZS4iKTsKICAgICAgICB9CiAgICB9Cn0pOwoK","commentary":"","description":"Tests that missing Unicode extension values default to true for\n boolean keys.","path":"TestCases/intl402/ch09/9.2/9.2.5_11_g_ii_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImRhdGFMb2NhbGUiLCAibnUiLCAiY2EiLCAiY28iLCAibG9jYWxlIl0pOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGxvY2FsZSA9IG5ldyBDb25zdHJ1Y3Rvcih1bmRlZmluZWQsIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIGlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhsb2NhbGUpKSB7CiAgICAgICAgJEVSUk9SKCJDb25zdHJ1Y3RvciByZXR1cm5zIGludmFsaWQgbG9jYWxlICIgKyBsb2NhbGUgKyAiLiIpOwogICAgfQoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.5_6.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIExpc3QgaXMgbm90IGFmZmVjdGVkIGJ5IGFkdmVyc2FyaWFsCiAqICAgICBjaGFuZ2VzIHRvIEFycmF5LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50QXJyYXkoKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIC8vIHRoaXMgdGVzdCBzaG91bGQgd29yayBlcXVhbGx5IGZvciBib3RoIG1hdGNoaW5nIGFsZ29yaXRobXMKICAgIFsibG9va3VwIiwgImJlc3QgZml0Il0uZm9yRWFjaChmdW5jdGlvbiAobWF0Y2hlcikgewogICAgICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgICAgIHZhciBjYW5vbmljYWxpemVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlLCBkZWZhdWx0TG9jYWxlXSwKICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICBpZiAoY2Fub25pY2FsaXplZC5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2Fub25pY2FsaXphdGlvbiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiIGRpZG4ndCByZW1vdmUgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MgZnJvbSBsb2NhbGUgbGlzdC4iKTsKICAgICAgICB9CiAgICB9KTsKCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that the behavior of a List is not affected by adversarial\n changes to Array.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.6_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgcmV0dXJucyBhbiBlbXB0eSBsaXN0IHdoZW4KICogICAgIGdpdmVuIGFuIGVtcHR5IGxpc3QuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtdLCB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIGlmIChzdXBwb3J0ZWQubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICRFUlJPUigiU3VwcG9ydGVkTG9jYWxlcyB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiIHJldHVybmVkIGEgbm9uLWVtcHR5IGxpc3QgZm9yIGFuIGVtcHR5IGxpc3QuIik7CiAgICAgICAgfQogICAgfSk7CgogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that LookupSupportedLocales returns an empty list when\n given an empty list.","path":"TestCases/intl402/ch09/9.2/9.2.6_4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZXMgZG8gbm90IGFmZmVjdAogKiAgICB3aGV0aGVyIGEgbG9jYWxlIGlzIGNvbnNpZGVyZWQgc3VwcG9ydGVkLCBidXQgYXJlIHJlcG9ydGVkIGJhY2suCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgICAgICB2YXIgYWxsTG9jYWxlcyA9IGluZm8uc3VwcG9ydGVkLmNvbmNhdChpbmZvLmJ5RmFsbGJhY2ssIGluZm8udW5zdXBwb3J0ZWQpOwogICAgICAgIGFsbExvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICAgICAgICAgIHZhciB2YWxpZEV4dGVuc2lvbiA9ICItdS1jby1waG9uZWJrLW51LWxhdG4iOwogICAgICAgICAgICB2YXIgaW52YWxpZEV4dGVuc2lvbiA9ICItdS1udS1pbnZhbGlkIjsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZDEgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2xvY2FsZV0sCiAgICAgICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgICAgICB2YXIgc3VwcG9ydGVkMiA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbbG9jYWxlICsgdmFsaWRFeHRlbnNpb25dLAogICAgICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZDMgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2xvY2FsZSArIGludmFsaWRFeHRlbnNpb25dLAogICAgICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICAgICAgaWYgKHN1cHBvcnRlZDEubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkMi5sZW5ndGggIT09IDEgfHwgc3VwcG9ydGVkMy5sZW5ndGggIT09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkRVJST1IoIlByZXNlbmNlIG9mIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZSBhZmZlY3RzIHdoZXRoZXIgbG9jYWxlICIgKwogICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUgKyAiIGlzIGNvbnNpZGVyZWQgc3VwcG9ydGVkIHdpdGggbWF0Y2hlciAiICsgbWF0Y2hlciArICIuIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkMlswXSAhPT0gbG9jYWxlICsgdmFsaWRFeHRlbnNpb24gfHwgc3VwcG9ydGVkM1swXSAhPT0gbG9jYWxlICsgaW52YWxpZEV4dGVuc2lvbikgewogICAgICAgICAgICAgICAgICAgIGFsZXJ0KGxvY2FsZSArICI7ICIgKyBzdXBwb3J0ZWQyWzBdICsgIjsgIiArIHN1cHBvcnRlZDNbMF0pOwogICAgICAgICAgICAgICAgICAgICRFUlJPUigiVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHNlcXVlbmNlIGlzIG5vdCBjb3JyZWN0bHkgcmV0dXJuZWQgZm9yIGxvY2FsZSAiICsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlICsgIiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZDIubGVuZ3RoICE9PSAwIHx8IHN1cHBvcnRlZDMubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgJEVSUk9SKCJQcmVzZW5jZSBvZiBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gc2VxdWVuY2UgYWZmZWN0cyB3aGV0aGVyIGxvY2FsZSAiICsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlICsgIiBpcyBjb25zaWRlcmVkIHN1cHBvcnRlZCB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that Unicode locale extension sequences do not affect\n whether a locale is considered supported, but are reported back.","path":"TestCases/intl402/ch09/9.2/9.2.6_4_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgaW5jbHVkZXMgdGhlIGRlZmF1bHQgbG9jYWxlCiAqICAgICBhbmQgZG9lc24ndCBpbmNsdWRlIHRoZSAibm8gbGluZ3Vpc3RpYyBjb250ZW50IiBsb2NhbGUuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBDb25zdHJ1Y3RvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgICB2YXIgbm9MaW5ndWlzdGljQ29udGVudCA9ICJ6eHgiOwogICAgICAgIHZhciBzdXBwb3J0ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGUsIG5vTGluZ3Vpc3RpY0NvbnRlbnRdLAogICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIGlmIChzdXBwb3J0ZWQuaW5kZXhPZihkZWZhdWx0TG9jYWxlKSA9PT0gLTEpIHsKICAgICAgICAgICAgJEVSUk9SKCJTdXBwb3J0ZWRMb2NhbGVzIGRpZG4ndCByZXR1cm4gZGVmYXVsdCBsb2NhbGUgd2l0aCBtYXRjaGVyICIgKyBtYXRjaGVyICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgaWYgKHN1cHBvcnRlZC5pbmRleE9mKG5vTGluZ3Vpc3RpY0NvbnRlbnQpICE9PSAtMSkgewogICAgICAgICAgICAkRVJST1IoIlN1cHBvcnRlZExvY2FsZXMgcmV0dXJuZWQgdGhlIFwibm8gbGluZ3Vpc3RpYyBjb250ZW50XCIgbG9jYWxlIHdpdGggbWF0Y2hlciAiICsgbWF0Y2hlciArICIuIik7CiAgICAgICAgfQogICAgICAgIGlmIChzdXBwb3J0ZWQubGVuZ3RoID4gMSkgewogICAgICAgICAgICAkRVJST1IoIlN1cHBvcnRlZExvY2FsZXMgcmV0dXJuZWQgc3RyYXkgbG9jYWxlczogIiArIHN1cHBvcnRlZC5qb2luKCIsICIpICsgIiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that LookupSupportedLocales includes the default locale\n and doesn't include the \"no linguistic content\" locale.","path":"TestCases/intl402/ch09/9.2/9.2.6_4_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICAKICAgIHZhciB2YWxpZFZhbHVlcyA9IFt1bmRlZmluZWQsICJsb29rdXAiLCAiYmVzdCBmaXQiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICJsb29rdXAiOyB9fV07CiAgICB2YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBzdXBwb3J0ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGVdLCB7bG9jYWxlTWF0Y2hlcjogdmFsdWV9KTsKICAgIH0pOwogICAgCiAgICB2YXIgaW52YWxpZFZhbHVlcyA9IFtudWxsLCAwLCA1LCBOYU4sIHRydWUsIGZhbHNlLCAiaW52YWxpZCJdOwogICAgaW52YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlXSwge2xvY2FsZU1hdGNoZXI6IHZhbHVlfSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsb2NhbGVNYXRjaGVyIHZhbHVlICIgKyB2YWx1ZSArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICAgICAkRVJST1IoIkludmFsaWQgbG9jYWxlTWF0Y2hlciB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that the option localeMatcher is processed correctly.","path":"TestCases/intl402/ch09/9.2/9.2.8_1_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBhcnJheSByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIGV4dGVuc2libGUsCiAqICAgICBidXQgaXRzIHByb3BlcnRpZXMgYXJlIG5vbi13cml0YWJsZS9ub24tY29uZmlndXJhYmxlLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKZnVuY3Rpb24gdGVzdEZyb3plblByb3BlcnR5KG9iaiwgcHJvcGVydHkpIHsKICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3BlcnR5KTsKICAgIGlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAgICAgJEVSUk9SKCJQcm9wZXJ0eSAiICsgcHJvcGVydHkgKyAiIG9mIG9iamVjdCByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIHdyaXRhYmxlLiIpOwogICAgfQogICAgaWYgKGRlc2MuY29uZmlndXJhYmxlKSB7CiAgICAgICAgJEVSUk9SKCJQcm9wZXJ0eSAiICsgcHJvcGVydHkgKyAiIG9mIG9iamVjdCByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIGNvbmZpZ3VyYWJsZS4iKTsKICAgIH0KfQoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlXSk7CiAgICBpZiAoIU9iamVjdC5pc0V4dGVuc2libGUoc3VwcG9ydGVkKSkgewogICAgICAgICRFUlJPUigiT2JqZWN0IHJldHVybmVkIGJ5IFN1cHBvcnRlZExvY2FsZXMgaXMgbm90IGV4dGVuc2libGUuIik7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN1cHBvcnRlZC5sZW5ndGg7IGkrKykgewogICAgICAgIHRlc3RGcm96ZW5Qcm9wZXJ0eShzdXBwb3J0ZWQsIGkpOwogICAgfQogICAgdGVzdEZyb3plblByb3BlcnR5KHN1cHBvcnRlZCwgImxlbmd0aCIpOwoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that the array returned by SupportedLocales is extensible,\n but its properties are non-writable/non-configurable.","path":"TestCases/intl402/ch09/9.2/9.2.8_4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLkNvbGxhdG9yLCB0cnVlLCB0cnVlLCBbInN1cHBvcnRlZExvY2FsZXNPZiJdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.Collator\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.1/10.1_L15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yIGhhcyBhIHN1cHBvcnRlZExvY2FsZXNPZgogKiBwcm9wZXJ0eSwgYW5kIGl0IHdvcmtzIGFzIHBsYW5uZWQuCiAqLwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKdmFyIG5vdFN1cHBvcnRlZCA9ICd6eHgnOyAvLyAibm8gbGluZ3Vpc3RpYyBjb250ZW50Igp2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IFtkZWZhdWx0TG9jYWxlLCBub3RTdXBwb3J0ZWRdOwoKdmFyIHN1cHBvcnRlZExvY2FsZXM7CgppZiAoIUludGwuQ29sbGF0b3IuaGFzT3duUHJvcGVydHkoJ3N1cHBvcnRlZExvY2FsZXNPZicpKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IgZG9lc24ndCBoYXZlIGEgc3VwcG9ydGVkTG9jYWxlc09mIHByb3BlcnR5LiIpOwp9CgpzdXBwb3J0ZWRMb2NhbGVzID0gSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YocmVxdWVzdGVkTG9jYWxlcyk7CmlmIChzdXBwb3J0ZWRMb2NhbGVzLmxlbmd0aCAhPT0gMSkgewogICAgJEVSUk9SKCdUaGUgbGVuZ3RoIG9mIHN1cHBvcnRlZCBsb2NhbGVzIGxpc3QgaXMgbm90IDEuJyk7Cn0KCmlmIChzdXBwb3J0ZWRMb2NhbGVzWzBdICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAkRVJST1IoJ1RoZSBkZWZhdWx0IGxvY2FsZSBpcyBub3QgcmV0dXJuZWQgaW4gdGhlIHN1cHBvcnRlZCBsaXN0LicpOwp9Cgo=","commentary":"","description":"Tests that Intl.Collator has a supportedLocalesOf\nproperty, and it works as planned.","path":"TestCases/intl402/ch10/10.2/10.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3Iuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YsIHRydWUsIGZhbHNlLCBbXSwgMSk7Cgo=","commentary":"","description":"Tests that Intl.Collator.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.2/10.2.2_L15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogSW50bC5Db2xsYXRvci4KICovCgppZiAoSW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuQ29sbGF0b3IpIHsKICAgICRFUlJPUigiSW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRoZSBzYW1lIGFzICIgKwogICAgICAgICAgICJJbnRsLkNvbGxhdG9yIik7Cn0KCg==","commentary":"","description":"Tests that Intl.Collator.prototype.constructor is the\nIntl.Collator.","path":"TestCases/intl402/ch10/10.3/10.3.1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb21wYXJlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QobmV3IEludGwuQ29sbGF0b3IoKS5jb21wYXJlLCB0cnVlLCBmYWxzZSwgW10sIDIpOwoK","commentary":"","description":"Tests that the function returned by Intl.Collator.prototype.compare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3.2_1_a_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuQ29sbGF0b3IucHJvdG90eXBlLCAiY29tcGFyZSIpLmdldCAsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=","commentary":"","description":"Tests that the getter for Intl.Collator.prototype.compare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.Collator.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3.3_L15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSBpcyBhbiBvYmplY3QgdGhhdAogKiBoYXMgYmVlbiBpbml0aWFsaXplZCBhcyBhbiBJbnRsLkNvbGxhdG9yLgogKi8KCi8vIHRlc3QgYnkgY2FsbGluZyBhIGZ1bmN0aW9uIHRoYXQgd291bGQgZmFpbCBpZiAidGhpcyIgd2VyZSBub3QgYW4gb2JqZWN0Ci8vIGluaXRpYWxpemVkIGFzIGFuIEludGwuQ29sbGF0b3IKaWYgKEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUoImHQsOOBguyVhCIsICJh0LDjgYLslYQiKSAhPT0gMCkgewogICAgJEVSUk9SKCJJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSBpcyBub3QgYW4gb2JqZWN0IHRoYXQgaGFzIGJlZW4gIiArCiAgICAgICAgImluaXRpYWxpemVkIGFzIGFuIEludGwuQ29sbGF0b3IuIik7Cn0KCg==","commentary":"","description":"Tests that Intl.Collator.prototype is an object that\nhas been initialized as an Intl.Collator.","path":"TestCases/intl402/ch10/10.3/10.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsIGZhbHNlLCBmYWxzZSwgWyJjb25zdHJ1Y3RvciIsICJjb21wYXJlIiwgInJlc29sdmVkT3B0aW9ucyJdKTsKCg==","commentary":"","description":"Tests that Intl.Collator.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0CiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5OdW1iZXJGb3JtYXQsIHRydWUsIHRydWUsIFsic3VwcG9ydGVkTG9jYWxlc09mIl0sIDApOwoK","commentary":"","description":"Tests that Intl.NumberFormat\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.1/11.1_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdCBoYXMgYSBzdXBwb3J0ZWRMb2NhbGVzT2YKICogcHJvcGVydHksIGFuZCBpdCB3b3JrcyBhcyBwbGFubmVkLgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCnZhciBkZWZhdWx0TG9jYWxlID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwp2YXIgbm90U3VwcG9ydGVkID0gJ3p4eCc7IC8vICJubyBsaW5ndWlzdGljIGNvbnRlbnQiCnZhciByZXF1ZXN0ZWRMb2NhbGVzID0gW2RlZmF1bHRMb2NhbGUsIG5vdFN1cHBvcnRlZF07CiAgICAKdmFyIHN1cHBvcnRlZExvY2FsZXM7CgppZiAoIUludGwuTnVtYmVyRm9ybWF0Lmhhc093blByb3BlcnR5KCdzdXBwb3J0ZWRMb2NhbGVzT2YnKSkgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdCBkb2Vzbid0IGhhdmUgYSBzdXBwb3J0ZWRMb2NhbGVzT2YgcHJvcGVydHkuIik7Cn0KICAgIApzdXBwb3J0ZWRMb2NhbGVzID0gSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKHJlcXVlc3RlZExvY2FsZXMpOwppZiAoc3VwcG9ydGVkTG9jYWxlcy5sZW5ndGggIT09IDEpIHsKICAgICRFUlJPUignVGhlIGxlbmd0aCBvZiBzdXBwb3J0ZWQgbG9jYWxlcyBsaXN0IGlzIG5vdCAxLicpOwp9CiAgICAKaWYgKHN1cHBvcnRlZExvY2FsZXNbMF0gIT09IGRlZmF1bHRMb2NhbGUpIHsKICAgICRFUlJPUignVGhlIGRlZmF1bHQgbG9jYWxlIGlzIG5vdCByZXR1cm5lZCBpbiB0aGUgc3VwcG9ydGVkIGxpc3QuJyk7Cn0KCg==","commentary":"","description":"Tests that Intl.NumberFormat has a supportedLocalesOf\nproperty, and it works as planned.","path":"TestCases/intl402/ch11/11.2/11.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZgogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZiwgdHJ1ZSwgZmFsc2UsIFtdLCAxKTsKCg==","commentary":"","description":"Tests that Intl.NumberFormat.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.2/11.2.2_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlCiAqIEludGwuTnVtYmVyRm9ybWF0LgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCmlmIChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuTnVtYmVyRm9ybWF0KSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBub3QgdGhlIHNhbWUgYXMgIiArCiAgICAgICAgICAiSW50bC5OdW1iZXJGb3JtYXQiKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.constructor is the\nIntl.NumberFormat.","path":"TestCases/intl402/ch11/11.3/11.3.1.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGNvbnZlcnRzIG90aGVyIHR5cGVzIHRvIG51bWJlcnMuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwp2YXIgdGVzdERhdGEgPSBbdW5kZWZpbmVkLCBudWxsLCB0cnVlLCAnMC42NjY2NjY2J107CnZhciBudW1iZXI7CnZhciBpLCBpbnB1dCwgY29ycmVjdFJlc3VsdCwgcmVzdWx0OwoKZm9yIChpIGluIHRlc3REYXRhKSB7CiAgICBpbnB1dCA9IHRlc3REYXRhW2ldOwogICAgbnVtYmVyID0gK2lucHV0OwogICAgY29ycmVjdFJlc3VsdCA9IGZvcm1hdHRlci5mb3JtYXQobnVtYmVyKTsKICAgIAogICAgcmVzdWx0ID0gZm9ybWF0dGVyLmZvcm1hdChpbnB1dCk7CiAgICBpZiAocmVzdWx0ICE9PSBjb3JyZWN0UmVzdWx0KSB7CiAgICAgICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBkb2VzIG5vdCBjb252ZXJ0IG90aGVyICcgKwogICAgICAgICAgICAndHlwZXMgdG8gbnVtYmVycy4gSW5wdXQ6ICInK2lucHV0KyciIE91dHB1dDogIicrcmVzdWx0KyciICcrCiAgICAgICAgICAgICdFeHBlY3RlZCBvdXRwdXQ6ICInK2NvcnJlY3RSZXN1bHQrJyInKTsKICAgIH0KfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nconverts other types to numbers.","path":"TestCases/intl402/ch11/11.3/11.3.2_1_a_ii.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QobmV3IEludGwuTnVtYmVyRm9ybWF0KCkuZm9ybWF0LCB0cnVlLCBmYWxzZSwgW10sIDEpOwoK","commentary":"","description":"Tests that the function returned by Intl.NumberFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3.2_1_a_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGRvZXNuJ3QgdHJlYXQgYWxsIG51bWJlcnMgYXMgbmVnYXRpdmUuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwogIAppZiAoZm9ybWF0dGVyLmZvcm1hdCgxKSA9PT0gZm9ybWF0dGVyLmZvcm1hdCgtMSkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgaXMgZm9ybWF0dGluZyAxIGFuZCAtMSB0aGUgc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZXIuZm9ybWF0KC0wKSAhPT0gZm9ybWF0dGVyLmZvcm1hdCgwKSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBpcyBmb3JtYXR0aW5nIHNpZ25lZCB6ZXJvcyBkaWZmZXJlbnRseS4nKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\ndoesn't treat all numbers as negative.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_1.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGhhbmRsZXMgTmFOLCBJbmZpbml0eSwgYW5kIC1JbmZpbml0eSBwcm9wZXJseS4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgovLyBGSVhNRTogV2UgYXJlIG9ubHkgbGlzdGluZyBOdW1lcmljX1R5cGU9RGVjaW1hbC4gTWF5IG5lZWQgdG8gYWRkIG1vcmUKLy8gd2hlbiB0aGUgc3BlYyBjbGFyaWZpZXMuIEN1cnJlbnQgYXMgb2YgVW5pY29kZSA2LjEuCnZhciBoYXNVbmljb2RlRGlnaXRzID0gbmV3IFJlZ0V4cCgnLiooWycgKwogICAgJzAtOVx1MDY2MC1cdTA2NjlcdTA2RjAtXHUwNkY5XHUwN0MwLVx1MDdDOVx1MDk2Ni1cdTA5NkYnICsKICAgICdcdTA5RTYtXHUwOUVGXHUwQTY2LVx1MEE2Rlx1MEFFNi1cdTBBRUZcdTBCNjYtXHUwQjZGXHUwQkU2LVx1MEJFRicgKwogICAgJ1x1MEM2Ni1cdTBDNkZcdTBDRTYtXHUwQ0VGXHUwRDY2LVx1MEQ2Rlx1MEU1MC1cdTBFNTlcdTBFRDAtXHUwRUQ5JyArCiAgICAnXHUwRjIwLVx1MEYyOVx1MTA0MC1cdTEwNDlcdTEwOTAtXHUxMDk5XHUxN0UwLVx1MTdFOVx1MTgxMC1cdTE4MTknICsKICAgICdcdTE5NDYtXHUxOTRGXHUxOUQwLVx1MTlEOVx1MUE4MC1cdTFBODlcdTFBOTAtXHUxQTk5XHUxQjUwLVx1MUI1OScgKwogICAgJ1x1MUJCMC1cdTFCQjlcdTFDNDAtXHUxQzQ5XHUxQzUwLVx1MUM1OVx1QTYyMC1cdUE2MjlcdUE4RDAtXHVBOEQ5JyArCiAgICAnXHVBOTAwLVx1QTkwOVx1QTlEMC1cdUE5RDlcdUFBNTAtXHVBQTU5XHVBQkYwLVx1QUJGOVx1RkYxMC1cdUZGMTknICsKICAgICddfCcgKwogICAgJ1x1RDgwMVtcdURDQTAtXHVEQ0E5XXwnICsKICAgICdcdUQ4MDRbXHVEQzY2LVx1REM2Rlx1RENGMC1cdURDRjlcdUREMzYtXHVERDNGXHVEREQwLVx1REREOV18JyArCiAgICAnXHVEODA1W1x1REVDMC1cdURFQzldfCcgKwogICAgJ1x1RDgzNVtcdURGQ0UtXHVERkZGXSknKTsKCnZhciBmb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKTsKdmFyIGZvcm1hdHRlZE5hTiA9IGZvcm1hdHRlci5mb3JtYXQoTmFOKTsKdmFyIGZvcm1hdHRlZEluZmluaXR5ID0gZm9ybWF0dGVyLmZvcm1hdChJbmZpbml0eSk7CnZhciBmb3JtYXR0ZWROZWdhdGl2ZUluZmluaXR5ID0gZm9ybWF0dGVyLmZvcm1hdCgtSW5maW5pdHkpOwoKaWYgKGZvcm1hdHRlZE5hTiA9PT0gZm9ybWF0dGVkSW5maW5pdHkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gYW5kIEluZmluaXR5IHRoZSAnICsKICAgICAgICAnc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZWROYU4gPT09IGZvcm1hdHRlZE5lZ2F0aXZlSW5maW5pdHkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gYW5kIG5lZ2F0aXZlICcgKwogICAgICAgICdJbmZpbml0eSB0aGUgc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZWRJbmZpbml0eSA9PT0gZm9ybWF0dGVkTmVnYXRpdmVJbmZpbml0eSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBmb3JtYXRzIEluZmluaXR5IGFuZCAnICsKICAgICAgICAnbmVnYXRpdmUgSW5maW5pdHkgdGhlIHNhbWUgd2F5LicpOwp9CgppZiAoaGFzVW5pY29kZURpZ2l0cy50ZXN0KGZvcm1hdHRlZE5hTikpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gdXNpbmcgYSBkaWdpdC4nKTsKfQoKaWYgKGhhc1VuaWNvZGVEaWdpdHMudGVzdChmb3JtYXR0ZWRJbmZpbml0eSkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBJbmZpbml0eSB1c2luZyBhICcgKwogICAgICAgICdkaWdpdC4nKTsKfQoKaWYgKGhhc1VuaWNvZGVEaWdpdHMudGVzdChmb3JtYXR0ZWROZWdhdGl2ZUluZmluaXR5KSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBmb3JtYXRzIG5lZ2F0aXZlIEluZmluaXR5ICcgKyAKICAgICAgICAndXNpbmcgYSBkaWdpdC4nKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nhandles NaN, Infinity, and -Infinity properly.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_2.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGZvcm1hdHMgcGVyY2VudCB2YWx1ZXMgcHJvcGVybHkuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIG51bWJlckZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwp2YXIgcGVyY2VudEZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh1bmRlZmluZWQsIHtzdHlsZTogJ3BlcmNlbnQnfSk7Cgp2YXIgZm9ybWF0dGVkVHdlbnR5ID0gbnVtYmVyRm9ybWF0dGVyLmZvcm1hdCgyMCk7CnZhciBmb3JtYXR0ZWRUd2VudHlQZXJjZW50ID0gcGVyY2VudEZvcm1hdHRlci5mb3JtYXQoMC4yMCk7CgovLyBGSVhNRTogTWF5IG5vdCB3b3JrIGZvciBzb21lIHRoZW9yZXRpY2FsIGxvY2FsZXMgd2hlcmUgcGVyY2VudHMgYW5kCi8vIG5vcm1hbCBudW1iZXJzIGFyZSBmb3JtYXR0ZWQgdXNpbmcgZGlmZmVyZW50IG51bWJlcmluZyBzeXN0ZW1zLgppZiAoZm9ybWF0dGVkVHdlbnR5UGVyY2VudC5pbmRleE9mKGZvcm1hdHRlZFR3ZW50eSkgPT09IC0xKSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0J3MgZm9ybWF0dGluZyBvZiAyMCUgZG9lcyBub3QgaW5jbHVkZSBhICIgKwogICAgICAgICJmb3JtYXR0aW5nIG9mIDIwIGFzIGEgc3Vic3RyaW5nLiIpOwp9CgovLyBGSVhNRTogTW92ZSB0aGlzIHRvIHNvbWV3aGVyZSBhcHByb3ByaWF0ZQppZiAocGVyY2VudEZvcm1hdHRlci5mb3JtYXQoMC4wMTEpID09PSBwZXJjZW50Rm9ybWF0dGVyLmZvcm1hdCgwLjAyKSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBpcyBmb3JtYXR0aW5nIDEuMSUgYW5kIDIlIHRoZSBzYW1lIHdheS4nKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nformats percent values properly.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_3_b.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIHN1cHBvcnRzIGFsbCBhbHRlcm5hdGl2ZSBudW1iZXJpbmcgc3lzdGVtcy4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgp2YXIgbnVtYmVyaW5nU3lzdGVtcyA9IHsKICAgIGFyYWI6IDB4MDY2MCwKICAgIGFyYWJleHQ6IDB4MDZGMCwKICAgIGJlbmc6IDB4MDlFNiwKICAgIGRldmE6IDB4MDk2NiwKICAgIGZ1bGx3aWRlOiAweEZGMTAsCiAgICBndWpyOiAweDBBRTYsCiAgICBndXJ1OiAweDBBNjYsCiAgICBoYW5pZGVjOiBbMHgzMDA3LCAweDRFMDAsIDB4NEU4QywgMHg0RTA5LCAweDU2REIsCiAgICAgICAgICAgICAgMHg0RTk0LCAweDUxNkQsIDB4NEUwMywgMHg1MTZCLCAweDRFNURdLAogICAga2htcjogMHgxN0UwLAogICAga25kYTogMHgwQ0U2LAogICAgbGFvbzogMHgwRUQwLAogICAgbGF0bjogMHgwMDMwLAogICAgbWx5bTogMHgwRDY2LAogICAgbW9uZzogMHgxODEwLAogICAgbXltcjogMHgxMDQwLAogICAgb3J5YTogMHgwQjY2LAogICAgdGFtbGRlYzogMHgwQkU2LAogICAgdGVsdTogMHgwQzY2LAogICAgdGhhaTogMHgwRTUwLAogICAgdGlidDogMHgwRjIwCn07Cgp2YXIgb3B0aW9ucywgZm9ybWF0dGVyOwp2YXIgcywgemVyb0NvZGUsIGRpZ2l0TGlzdDsKCmZvciAocyBpbiBudW1iZXJpbmdTeXN0ZW1zKSB7CiAgICB6ZXJvQ29kZSA9IG51bWJlcmluZ1N5c3RlbXNbc107CiAgICBpZiAodHlwZW9mIHplcm9Db2RlID09PSAnbnVtYmVyJykgewogICAgICAgIGRpZ2l0TGlzdCA9IFt6ZXJvQ29kZSwgemVyb0NvZGUrMSwgemVyb0NvZGUrMiwgemVyb0NvZGUrMywgemVyb0NvZGUrNCwKICAgICAgICAgICAgICAgICAgIHplcm9Db2RlKzUsIHplcm9Db2RlKzYsIHplcm9Db2RlKzcsIHplcm9Db2RlKzgsIHplcm9Db2RlKzldOwogICAgICAgIG51bWJlcmluZ1N5c3RlbXNbc10gPSBkaWdpdExpc3Q7CiAgICB9Cn0KCi8vIEZJWE1FOiBVbmZpbmlzaGVkCgo=","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nsupports all alternative numbering systems.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_3_e.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgImZvcm1hdCIpLmdldCAsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=","commentary":"","description":"Tests that the getter for Intl.NumberFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3.3_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUgaXMgYW4gb2JqZWN0IHRoYXQKICogaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYXMgYW4gSW50bC5OdW1iZXJGb3JtYXQuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKLy8gdGVzdCBieSBjYWxsaW5nIGEgZnVuY3Rpb24gdGhhdCB3b3VsZCBmYWlsIGlmICJ0aGlzIiB3ZXJlIG5vdCBhbiBvYmplY3QKLy8gaW5pdGlhbGl6ZWQgYXMgYW4gSW50bC5OdW1iZXJGb3JtYXQKaWYgKHR5cGVvZiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0KDApICE9PSAic3RyaW5nIikgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdCdzIHByb3RvdHlwZSBpcyBub3QgYW4gb2JqZWN0IHRoYXQgaGFzIGJlZW4gIiArCiAgICAgICAgImluaXRpYWxpemVkIGFzIGFuIEludGwuTnVtYmVyRm9ybWF0Iik7Cn0KCg==","commentary":"","description":"Tests that Intl.NumberFormat.prototype is an object that\nhas been initialized as an Intl.NumberFormat.","path":"TestCases/intl402/ch11/11.3/11.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZQogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgZmFsc2UsIGZhbHNlLCBbImNvbnN0cnVjdG9yIiwgImZvcm1hdCIsICJyZXNvbHZlZE9wdGlvbnMiXSk7Cgo=","commentary":"","description":"Tests that Intl.NumberFormat.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLkRhdGVUaW1lRm9ybWF0LCB0cnVlLCB0cnVlLCBbInN1cHBvcnRlZExvY2FsZXNPZiJdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.DateTimeFormat\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.1/12.1_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0IGhhcyBhIHN1cHBvcnRlZExvY2FsZXNPZgogKiBwcm9wZXJ0eSwgYW5kIGl0IHdvcmtzIGFzIHBsYW5uZWQuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKdmFyIG5vdFN1cHBvcnRlZCA9ICd6eHgnOyAvLyAibm8gbGluZ3Vpc3RpYyBjb250ZW50Igp2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IFtkZWZhdWx0TG9jYWxlLCBub3RTdXBwb3J0ZWRdOwogICAgCnZhciBzdXBwb3J0ZWRMb2NhbGVzOwoKaWYgKCFJbnRsLkRhdGVUaW1lRm9ybWF0Lmhhc093blByb3BlcnR5KCdzdXBwb3J0ZWRMb2NhbGVzT2YnKSkgewogICAgJEVSUk9SKCJJbnRsLkRhdGVUaW1lRm9ybWF0IGRvZXNuJ3QgaGF2ZSBhIHN1cHBvcnRlZExvY2FsZXNPZiBwcm9wZXJ0eS4iKTsKfQogICAgCnN1cHBvcnRlZExvY2FsZXMgPSBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihyZXF1ZXN0ZWRMb2NhbGVzKTsKaWYgKHN1cHBvcnRlZExvY2FsZXMubGVuZ3RoICE9PSAxKSB7CiAgICAkRVJST1IoJ1RoZSBsZW5ndGggb2Ygc3VwcG9ydGVkIGxvY2FsZXMgbGlzdCBpcyBub3QgMS4nKTsKfQogICAgCmlmIChzdXBwb3J0ZWRMb2NhbGVzWzBdICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAkRVJST1IoJ1RoZSBkZWZhdWx0IGxvY2FsZSBpcyBub3QgcmV0dXJuZWQgaW4gdGhlIHN1cHBvcnRlZCBsaXN0LicpOwp9Cgo=","commentary":"","description":"Tests that Intl.DateTimeFormat has a supportedLocalesOf\nproperty, and it works as planned.","path":"TestCases/intl402/ch12/12.2/12.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5EYXRlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YsIHRydWUsIGZhbHNlLCBbXSwgMSk7Cgo=","commentary":"","description":"Tests that Intl.DateTimeFormat.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.2/12.2.2_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogSW50bC5EYXRlVGltZUZvcm1hdC4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgppZiAoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuRGF0ZVRpbWVGb3JtYXQpIHsKICAgICRFUlJPUigiSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRoZSBzYW1lIGFzICIgKwogICAgICAgICAgIkludGwuRGF0ZVRpbWVGb3JtYXQiKTsKfQoK","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype.constructor is the\nIntl.DateTimeFormat.","path":"TestCases/intl402/ch12/12.3/12.3.1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLmZvcm1hdCwgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that the function returned by Intl.DateTimeFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3.2_1_a_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmZvcm1hdAogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsICJmb3JtYXQiKS5nZXQgLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK","commentary":"","description":"Tests that the getter for Intl.DateTimeFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3.3_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSBpcyBhbiBvYmplY3QgdGhhdAogKiBoYXMgYmVlbiBpbml0aWFsaXplZCBhcyBhbiBJbnRsLkRhdGVUaW1lRm9ybWF0LgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCi8vIHRlc3QgYnkgY2FsbGluZyBhIGZ1bmN0aW9uIHRoYXQgd291bGQgZmFpbCBpZiAidGhpcyIgd2VyZSBub3QgYW4gb2JqZWN0Ci8vIGluaXRpYWxpemVkIGFzIGFuIEludGwuRGF0ZVRpbWVGb3JtYXQKaWYgKHR5cGVvZiBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQoMCkgIT09ICJzdHJpbmciKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQncyBwcm90b3R5cGUgaXMgbm90IGFuIG9iamVjdCB0aGF0IGhhcyBiZWVuICIgKwogICAgICAgICJpbml0aWFsaXplZCBhcyBhbiBJbnRsLkRhdGVUaW1lRm9ybWF0Iik7Cn0KCg==","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype is an object that\nhas been initialized as an Intl.DateTimeFormat.","path":"TestCases/intl402/ch12/12.3/12.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsIGZhbHNlLCBmYWxzZSwgWyJjb25zdHJ1Y3RvciIsICJmb3JtYXQiLCAicmVzb2x2ZWRPcHRpb25zIl0pOwoK","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZQogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSwgdHJ1ZSwgZmFsc2UsIFtdLCAxKTsKCg==","commentary":"","description":"Tests that String.prototype.localeCompare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.1/13.1.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK","commentary":"","description":"Tests that Number.prototype.toLocaleString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.2/13.2.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=","commentary":"","description":"Tests that Date.prototype.toLocaleString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.3/13.3.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Date.prototype.toLocaleDateString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.3/13.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Date.prototype.toLocaleTimeString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.3/13.3.3_L15.js"}]}} \ No newline at end of file
+{"testsCollection":{"name":"Chapter - intl402","numTests":"137","tests":[{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWdzIGFyZSBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciB2YWxpZExhbmd1YWdlVGFncyA9IFsKICAgICJkZSIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQogICAgImRlLURFIiwgLy8gKyBJU08gMzE2Ni0xIGNvdW50cnkgY29kZQogICAgIkRFLWRlIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQogICAgImNtbiIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQogICAgImNtbi1IYW5zIiwgLy8gKyBzY3JpcHQgY29kZQogICAgIkNNTi1oQU5TIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQogICAgImNtbi1oYW5zLWNuIiwgLy8gKyBJU08gMzE2Ni0xIGNvdW50cnkgY29kZQogICAgImVzLTQxOSIsIC8vICsgVU4gTS40OSByZWdpb24gY29kZQogICAgImVzLTQxOS11LW51LWxhdG4tY3UtYm9iIiwgLy8gKyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gc2VxdWVuY2UKICAgICJpLWtsaW5nb24iLCAvLyBncmFuZGZhdGhlcmVkIHRhZwogICAgImNtbi1oYW5zLWNuLXQtY2EtdS1jYS14LXQtdSIsIC8vIHNpbmdsZXRvbiBzdWJ0YWdzIGNhbiBhbHNvIGJlIHVzZWQgYXMgcHJpdmF0ZSB1c2Ugc3VidGFncwogICAgImVub2NoaWFuLWVub2NoaWFuIiwgLy8gbGFuZ3VhZ2UgYW5kIHZhcmlhbnQgc3VidGFncyBtYXkgYmUgdGhlIHNhbWUKICAgICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSIgLy8gdmFyaWFudCBhbmQgZXh0ZW5zaW9uIHN1YnRhZ3MgbWF5IGJlIHRoZSBzYW1lCl07Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YWxpZExhbmd1YWdlVGFncy5mb3JFYWNoKGZ1bmN0aW9uICh0YWcpIHsKICAgICAgICAvLyB0aGlzIG11c3Qgbm90IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYSB2YWxpZCBsYW5ndWFnZSB0YWcKICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdG9yKFt0YWddKTsKICAgIH0pOwogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that structurally valid language tags are accepted.","path":"TestCases/intl402/ch06/6.2/6.2.2_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxhbmd1YWdlIHRhZ3Mgd2l0aCAiXyIgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBpbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgImRlX0RFIiwKICAgICJERV9kZSIsCiAgICAiY21uX0hhbnMiLAogICAgImNtbi1oYW5zX2NuIiwKICAgICJlc180MTkiLAogICAgImVzLTQxOS11LW51LWxhdG4tY3VfYm9iIiwKICAgICJpX2tsaW5nb24iLAogICAgImNtbi1oYW5zLWNuLXQtY2EtdS1jYS14X3QtdSIsCiAgICAiZW5vY2hpYW5fZW5vY2hpYW4iLAogICAgImRlLWdyZWdvcnlfdS1jYS1ncmVnb3J5IgpdOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgaW52YWxpZExhbmd1YWdlVGFncy5mb3JFYWNoKGZ1bmN0aW9uICh0YWcpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gdGhpcyBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYW4gaW52YWxpZCBsYW5ndWFnZSB0YWcKICAgICAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RvcihbdGFnXSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsYW5ndWFnZSB0YWcgIiArIHRhZyArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICAgICAkRVJST1IoIkludmFsaWQgbGFuZ3VhZ2UgdGFnICIgKyB0YWcgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that language tags with \"_\" are not accepted.","path":"TestCases/intl402/ch06/6.2/6.2.2_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxhbmd1YWdlIHRhZ3Mgd2l0aCBpbnZhbGlkIHN1YnRhZyBzZXF1ZW5jZXMgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBpbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgIiIsIC8vIGVtcHR5IHRhZwogICAgImkiLCAvLyBzaW5nbGV0b24gYWxvbmUKICAgICJ4IiwgLy8gcHJpdmF0ZSB1c2Ugd2l0aG91dCBzdWJ0YWcKICAgICJ1IiwgLy8gZXh0ZW5zaW9uIHNpbmdsZXRvbiBpbiBmaXJzdCBwbGFjZQogICAgIjQxOSIsIC8vIHJlZ2lvbiBjb2RlIGluIGZpcnN0IHBsYWNlCiAgICAidS1udS1sYXRuLWN1LWJvYiIsIC8vIGV4dGVuc2lvbiBzZXF1ZW5jZSB3aXRob3V0IGxhbmd1YWdlCiAgICAiaGFucy1jbW4tY24iLCAvLyAiaGFucyIgY291bGQgdGhlb3JldGljYWxseSBiZSBhIDQtbGV0dGVyIGxhbmd1YWdlIGNvZGUsCiAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhvc2UgY2FuJ3QgYmUgZm9sbG93ZWQgYnkgZXh0bGFuZyBjb2Rlcy4KICAgICJjbW4taGFucy1jbi11LXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiY21uLWhhbnMtY24tdC11LWNhLXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiZGUtZ3JlZ29yeS1ncmVnb3J5IiwgLy8gZHVwbGljYXRlIHZhcmlhbnQKICAgICLkuK3mlociLCAvLyBub24tQVNDSUkgbGV0dGVycwogICAgImVuLcOfIiwgLy8gbm9uLUFTQ0lJIGxldHRlcnMKICAgICLEsWQiIC8vIG5vbi1BU0NJSSBsZXR0ZXJzCl07Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICBpbnZhbGlkTGFuZ3VhZ2VUYWdzLmZvckVhY2goZnVuY3Rpb24gKHRhZykgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyB0aGlzIG11c3QgdGhyb3cgYW4gZXhjZXB0aW9uIGZvciBhbiBpbnZhbGlkIGxhbmd1YWdlIHRhZwogICAgICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdG9yKFt0YWddKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGxhbmd1YWdlIHRhZyAiICsgdGFnICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlJhbmdlRXJyb3IiKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsYW5ndWFnZSB0YWcgIiArIHRhZyArICIgd2FzIHJlamVjdGVkIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that language tags with invalid subtag sequences are not accepted.","path":"TestCases/intl402/ch06/6.2/6.2.2_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBsYW5ndWFnZSB0YWdzIGFyZSBjYW5vbmljYWxpemVkIGluIHJldHVybiB2YWx1ZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgY2Fub25pY2FsaXplZFRhZ3MgPSB7CiAgICAiZGUiOiBbImRlIl0sCiAgICAiZGUtREUiOiBbImRlLURFIiwgImRlIl0sCiAgICAiREUtZGUiOiBbImRlLURFIiwgImRlIl0sCiAgICAiY21uIjogWyJjbW4iXSwKICAgICJDTU4taEFOUyI6IFsiY21uLUhhbnMiLCAiY21uIl0sCiAgICAiY21uLWhhbnMtY24iOiBbImNtbi1IYW5zLUNOIiwgImNtbi1IYW5zIiwgImNtbiJdLAogICAgImVzLTQxOSI6IFsiZXMtNDE5IiwgImVzIl0sCiAgICAiZXMtNDE5LXUtbnUtbGF0biI6IFsiZXMtNDE5LXUtbnUtbGF0biIsICJlcy00MTkiLCAiZXMiLCAiZXMtdS1udS1sYXRuIl0sCiAgICAvLyAtdS1jYSBpcyBpbmNvbXBsZXRlLCBzbyBpdCB3aWxsIG5vdCBzaG93IHVwIGluIHJlc29sdmVkT3B0aW9ucygpLmxvY2FsZQogICAgImNtbi1oYW5zLWNuLXUtY2EtdC1jYS14LXQtdSI6IFsiY21uLUhhbnMtQ04tdC1jYS11LWNhLXgtdC11IiwgImNtbi1IYW5zLUNOLXQtY2EteC10LXUiLCAiY21uLUhhbnMtQ04tdC1jYS14LXQiLCAiY21uLUhhbnMtQ04tdC1jYSIsICJjbW4tSGFucy1DTiIsICJjbW4tSGFucyIsICJjbW4iXSwKICAgICJlbm9jaGlhbi1lbm9jaGlhbiI6IFsiZW5vY2hpYW4tZW5vY2hpYW4iLCAiZW5vY2hpYW4iXSwKICAgICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSI6IFsiZGUtZ3JlZ29yeS11LWNhLWdyZWdvcnkiLCAiZGUtZ3JlZ29yeSIsICJkZS11LWNhLWdyZWdvcnkiLCAiZGUiXSwKICAgICJuby1ueW4iOiBbIm5uIl0sCiAgICAiaS1rbGluZ29uIjogWyJ0bGgiXSwKICAgICJzZ24tR1IiOiBbImdzcyJdLAogICAgImppIjogWyJ5aSJdLAogICAgImRlLUREIjogWyJkZS1ERSIsICJkZSJdLAogICAgInpoLWhhay1DTiI6IFsiaGFrLUNOIiwgImhhayJdLAogICAgInNnbi1pbHMiOiBbImlscyJdLAogICAgImluIjogWyJpZCJdCn07CgovLyBtYWtlIHN1cmUgdGhlIGRhdGEgYWJvdmUgaXMgY29ycmVjdApPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjYW5vbmljYWxpemVkVGFncykuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7CiAgICBjYW5vbmljYWxpemVkVGFnc1t0YWddLmZvckVhY2goZnVuY3Rpb24gKGNhbm9uaWNhbFRhZykgewogICAgICAgIGlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhjYW5vbmljYWxUYWcpKSB7CiAgICAgICAgICAgICRFUlJPUigiVGVzdCBkYXRhIFwiIiArIGNhbm9uaWNhbFRhZyArICJcIiBpcyBub3QgY2Fub25pY2FsaXplZCBhbmQgc3RydWN0dXJhbGx5IHZhbGlkIGxhbmd1YWdlIHRhZy4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7CgovLyBub3cgdGhlIGFjdHVhbCB0ZXN0CnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY2Fub25pY2FsaXplZFRhZ3MpLmZvckVhY2goZnVuY3Rpb24gKHRhZykgewogICAgICAgIC8vIHVzZSBsb29rdXAgbG9jYWxlIG1hdGNoZXIgdG8ga2VlcCB0aGUgc2V0IG9mIHBvc3NpYmxlIHJldHVybiB2YWx1ZXMgcHJlZGljdGFibGUKCiAgICAgICAgLy8gVmFyaWFudCAxOiBjb25zdHJ1Y3QgYW4gb2JqZWN0IGFuZCBzZWUgd2hldGhlciBpdHMgbG9jYWxlIGlzIGNhbm9uaWNhbGl6ZWQuCiAgICAgICAgLy8gSW4gdGhpcyB2YXJpYW50LCBzaG9ydGVuZWQgZm9ybXMgb3IgdGhlIGRlZmF1bHQgbG9jYWxlIG1heSBiZSByZXR1cm5lZAogICAgICAgIHZhciBvYmplY3QgPSBuZXcgQ29uc3RydWN0b3IoW3RhZ10sIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwogICAgICAgIHZhciBsb2NhbGUgPSBvYmplY3QucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgICAgIGlmIChjYW5vbmljYWxpemVkVGFnc1t0YWddLmluZGV4T2YobG9jYWxlKSA9PT0gLTEgJiYgbG9jYWxlICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAgICAgICAgICRFUlJPUigiRm9yICIgKyB0YWcgKyAiIGdvdCAiICsgbG9jYWxlICsgIjsgZXhwZWN0ZWQgb25lIG9mICIgKwogICAgICAgICAgICAgICAgY2Fub25pY2FsaXplZFRhZ3NbdGFnXS5qb2luKCIsICIpICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gVmFyaWFudCAyOiBnZXQgdGhlIHN1cHBvcnRlZCBsb2NhbGVzLiBJZiB0aGUgdGFnIGlzIHN1cHBvcnRlZCwgaXQgc2hvdWxkIGJlIHJldHVybmVkIGNhbm9uaWNhbGl6ZWQgYnV0IHVuc2hvcnRlbmVkCiAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbdGFnXSk7CiAgICAgICAgaWYgKHN1cHBvcnRlZC5sZW5ndGggPiAwICYmIHN1cHBvcnRlZFswXSAhPT0gY2Fub25pY2FsaXplZFRhZ3NbdGFnXVswXSkgewogICAgICAgICAgICAkRVJST1IoIkZvciAiICsgdGFnICsgIiBnb3QgIiArIHN1cHBvcnRlZFswXSArICI7IGV4cGVjdGVkICIgKwogICAgICAgICAgICAgICAgY2Fub25pY2FsaXplZFRhZ3NbdGFnXVswXSArICIuIik7CiAgICAgICAgfSAgICAgICAgICAgIAogICAgfSk7CiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that language tags are canonicalized in return values.","path":"TestCases/intl402/ch06/6.2/6.2.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBkZWZhdWx0IGxvY2FsZSBpcyBhIFN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlCiAqIHN0cnVjdHVyYWxseSB2YWxpZCBhbmQgY2Fub25pY2FsaXplZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICBpZiAoIWlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcoZGVmYXVsdExvY2FsZSkpIHsKICAgICAgICAkRVJST1IoIkRlZmF1bHQgbG9jYWxlIFwiIiArIGRlZmF1bHRMb2NhbGUgKyAiXCIgaXMgbm90IGNhbm9uaWNhbGl6ZWQgYW5kIHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWcuIik7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that the default locale is a String value representing the\nstructurally valid and canonicalized BCP 47 language tag.","path":"TestCases/intl402/ch06/6.2/6.2.4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHdlbGwtZm9ybWVkIGN1cnJlbmN5IGNvZGVzIGFyZSBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgd2VsbEZvcm1lZEN1cnJlbmN5Q29kZXMgPSBbCiAgICAiQk9CIiwKICAgICJFVVIiLAogICAgInVzZCIsIC8vIGN1cnJlbmN5IGNvZGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiWGRSIiwKICAgICJ4VHMiCl07Cgp3ZWxsRm9ybWVkQ3VycmVuY3lDb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uIChjb2RlKSB7CiAgICAvLyB0aGlzIG11c3Qgbm90IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYSB2YWxpZCBjdXJyZW5jeSBjb2RlCiAgICB2YXIgZm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFsiZGUtZGUiXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogY29kZX0pOwogICAgaWYgKGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeSAhPT0gY29kZS50b1VwcGVyQ2FzZSgpKSB7CiAgICAgICAgJEVSUk9SKCJDdXJyZW5jeSAiICsgY29kZSArICIgd2FzIG5vdCBjb3JyZWN0bHkgYWNjZXB0ZWQ7IHR1cm5lZCBpbnRvICIgKwogICAgICAgICAgICBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkuY3VycmVuY3kgKyAiLiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that well-formed currency codes are accepted.","path":"TestCases/intl402/ch06/6.3/6.3.1_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGludmFsaWQgY3VycmVuY3kgY29kZXMgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgaW52YWxpZEN1cnJlbmN5Q29kZXMgPSBbCiAgICAi4oKsIiwKICAgICIkIiwKICAgICJTRnIuIiwKICAgICJETSIsCiAgICAiS1LigqkiLAogICAgIjcwMiIsCiAgICAiw59QIiwKICAgICLEsW5yIgpdOwoKaW52YWxpZEN1cnJlbmN5Q29kZXMuZm9yRWFjaChmdW5jdGlvbiAoY29kZSkgewogICAgdmFyIGVycm9yOwogICAgdHJ5IHsKICAgICAgICAvLyB0aGlzIG11c3QgdGhyb3cgYW4gZXhjZXB0aW9uIGZvciBhbiBpbnZhbGlkIGN1cnJlbmN5IGNvZGUKICAgICAgICB2YXIgZm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFsiZGUtZGUiXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogY29kZX0pOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGN1cnJlbmN5IGNvZGUgIiArIGNvZGUgKyAiIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICRFUlJPUigiSW52YWxpZCBjdXJyZW5jeSBjb2RlICIgKyBjb2RlICsgIiB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0pOwoK","commentary":"","description":"Tests that invalid currency codes are not accepted.","path":"TestCases/intl402/ch06/6.3/6.3.1_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHZhbGlkIHRpbWUgem9uZSBuYW1lcyBhcmUgYWNjZXB0ZWQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIHZhbGlkVGltZVpvbmVOYW1lcyA9IFsKICAgICJVVEMiLAogICAgInV0YyIgLy8gdGltZSB6b25lIG5hbWVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCl07Cgp2YWxpZFRpbWVab25lTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkgewogICAgLy8gdGhpcyBtdXN0IG5vdCB0aHJvdyBhbiBleGNlcHRpb24gZm9yIGEgdmFsaWQgdGltZSB6b25lIG5hbWUKICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChbImRlLWRlIl0sIHt0aW1lWm9uZTogbmFtZX0pOwogICAgaWYgKGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSAhPT0gbmFtZS50b1VwcGVyQ2FzZSgpKSB7CiAgICAgICAgJEVSUk9SKCJUaW1lIHpvbmUgbmFtZSAiICsgbmFtZSArICIgd2FzIG5vdCBjb3JyZWN0bHkgYWNjZXB0ZWQ7IHR1cm5lZCBpbnRvICIgKwogICAgICAgICAgICBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUgKyAiLiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that valid time zone names are accepted.","path":"TestCases/intl402/ch06/6.4/6.4_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGludmFsaWQgdGltZSB6b25lIG5hbWVzIGFyZSBub3QgYWNjZXB0ZWQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGludmFsaWRUaW1lWm9uZU5hbWVzID0gWwogICAgIiIsCiAgICAiTUVaIiwgLy8gbG9jYWxpemVkIGFiYnJldmlhdGlvbgogICAgIlBhY2lmaWMgVGltZSIsIC8vIGxvY2FsaXplZCBsb25nIGZvcm0KICAgICJjbnNoYSIsIC8vIEJDUCA0NyB0aW1lIHpvbmUgY29kZQogICAgImludmFsaWQiLCAvLyBhcyB0aGUgbmFtZSBzYXlzCiAgICAiRXVyb3BlL8Swc3RhbmJ1bCIsIC8vIG5vbi1BU0NJSSBsZXR0ZXIKICAgICJhc8SxYS9iYWt1IiwgLy8gbm9uLUFTQ0lJIGxldHRlcgogICAgImV1cm9wZS9icnXDn2VscyIgIC8vIG5vbi1BU0NJSSBsZXR0ZXIKXTsKCmludmFsaWRUaW1lWm9uZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgLy8gdGhpcyBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYW4gaW52YWxpZCB0aW1lIHpvbmUgbmFtZQogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChbImRlLWRlIl0sIHt0aW1lWm9uZTogbmFtZX0pOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnZhbGlkIHRpbWUgem9uZSBuYW1lICIgKyBuYW1lICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSAiUmFuZ2VFcnJvciIpIHsKICAgICAgICAkRVJST1IoIkludmFsaWQgdGltZSB6b25lIG5hbWUgIiArIG5hbWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that invalid time zone names are not accepted.","path":"TestCases/intl402/ch06/6.4/6.4_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFkZGl0aW9uYWwgdGltZSB6b25lIG5hbWVzLCBpZiBhY2NlcHRlZCwgYXJlIGhhbmRsZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCi8vIGNhbm9uaWNhbGl6YXRpb24gc3BlY2lmaWVkIGluIGNvbmZvcm1hbmNlIGNsYXVzZQp2YXIgYWRkaXRpb25hbFRpbWVab25lTmFtZXMgPSB7CiAgICAiRXRjL0dNVCI6ICJVVEMiLAogICAgIkdyZWVud2ljaCI6ICJVVEMiLAogICAgIlBSQyI6ICJBc2lhL1NoYW5naGFpIiwKICAgICJBbUVySWNBL0xvU19hTmdFbEVzIjogIkFtZXJpY2EvTG9zX0FuZ2VsZXMiLAogICAgImV0Yy9nbXQrNyI6ICJFdGMvR01UKzciCn07CgpPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhZGRpdGlvbmFsVGltZVpvbmVOYW1lcykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkgewogICAgdmFyIGZvcm1hdCwgZXJyb3I7CiAgICB0cnkgewogICAgICAgIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtdLCB7dGltZVpvbmU6IG5hbWV9KTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBlcnJvciA9IGU7CiAgICB9CiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgIHZhciBhY3R1YWwgPSBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7CiAgICAgICAgdmFyIGV4cGVjdGVkID0gYWRkaXRpb25hbFRpbWVab25lTmFtZXMubmFtZTsKICAgICAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewogICAgICAgICAgICAkRVJST1IoIlRpbWUgem9uZSBuYW1lICIgKyBuYW1lICsgIiB3YXMgYWNjZXB0ZWQsIGJ1dCBpbmNvcnJlY3RseSBjYW5vbmljYWxpemVkIHRvICIgKwogICAgICAgICAgICAgICAgYWN0dWFsICsgIjsgZXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIi4iKTsKICAgICAgICB9CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICRFUlJPUigiVGltZSB6b25lIG5hbWUgIiArIG5hbWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that additional time zone names, if accepted, are handled correctly.","path":"TestCases/intl402/ch06/6.4/6.4_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLCBmYWxzZSwgZmFsc2UsIFsiQ29sbGF0b3IiLCAiTnVtYmVyRm9ybWF0IiwgIkRhdGVUaW1lRm9ybWF0Il0pOwoK","commentary":"","description":"Tests that Intl\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch08/8.0/8.0_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGRlZmF1bHQgbG9jYWxlIGlzIGF2YWlsYWJsZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgdmFyIHN1cHBvcnRlZExvY2FsZXMgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGVdKTsKICAgIGlmIChzdXBwb3J0ZWRMb2NhbGVzLmluZGV4T2YoZGVmYXVsdExvY2FsZSkgPT09IC0xKSB7CiAgICAgICAgJEVSUk9SKCJEZWZhdWx0IGxvY2FsZSBpcyBub3QgcmVwb3J0ZWQgYXMgYXZhaWxhYmxlLiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that default locale is available.","path":"TestCases/intl402/ch09/9.1/9.1_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFwcHJvcHJpYXRlIGZhbGxiYWNrIGxvY2FsZXMgYXJlIHByb3ZpZGVkIGZvcgogKiAgICAgc3VwcG9ydGVkIGxvY2FsZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgIHZhciBmYWxsYmFjazsKICAgIGluZm8uc3VwcG9ydGVkLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgICAgIHZhciBwb3MgPSBsb2NhbGUubGFzdEluZGV4T2YoIi0iKTsKICAgICAgICBpZiAocG9zICE9PSAtMSkgewogICAgICAgICAgICBmYWxsYmFjayA9IGxvY2FsZS5zdWJzdHJpbmcoMCwgcG9zKTsKICAgICAgICAgICAgaWYgKGluZm8uc3VwcG9ydGVkLmluZGV4T2YoZmFsbGJhY2spID09PSAtMSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIGxvY2FsZSArICIgaXMgc3VwcG9ydGVkLCBidXQgZmFsbGJhY2sgIiArIGZhbGxiYWNrICsgIiBpc24ndC4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2YXIgbWF0Y2ggPSAvKFthLXpdezIsM30pKC1bQS1aXVthLXpdezN9KSgtW0EtWl17Mn0pLy5leGVjKGxvY2FsZSk7CiAgICAgICAgaWYgKG1hdGNoICE9PSBudWxsKSB7CiAgICAgICAgICAgIGZhbGxiYWNrID0gbWF0Y2hbMV0gKyBtYXRjaFszXTsKICAgICAgICAgICAgaWYgKGluZm8uc3VwcG9ydGVkLmluZGV4T2YoZmFsbGJhY2spID09PSAtMSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIGxvY2FsZSArICIgaXMgc3VwcG9ydGVkLCBidXQgZmFsbGJhY2sgIiArIGZhbGxiYWNrICsgIiBpc24ndC4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pOwp9KTsKCg==","commentary":"","description":"Tests that appropriate fallback locales are provided for\n supported locales.","path":"TestCases/intl402/ch09/9.1/9.1_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNhbm9uaWNhbGl6YXRpb24gb2YgbG9jYWxlIGxpc3RzIHRyZWF0cyB1bmRlZmluZWQgYW5kIGVtcHR5IGxpc3RzIHRoZSBzYW1lLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIHN1cHBvcnRlZEZvclVuZGVmaW5lZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZih1bmRlZmluZWQpOwogICAgdmFyIHN1cHBvcnRlZEZvckVtcHR5TGlzdCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbXSk7CiAgICBpZiAoc3VwcG9ydGVkRm9yVW5kZWZpbmVkLmxlbmd0aCAhPT0gc3VwcG9ydGVkRm9yRW1wdHlMaXN0Lmxlbmd0aCkgewogICAgICAgICRFUlJPUigiU3VwcG9ydGVkIGxvY2FsZXMgZGlmZmVyIGJldHdlZW4gdW5kZWZpbmVkIGFuZCBlbXB0eSBsaXN0IGlucHV0LiIpOwogICAgfQogICAgLy8gd2UgZG9uJ3QgY29tcGFyZSB0aGUgZWxlbWVudHMgYmVjYXVzZSBsZW5ndGggc2hvdWxkIGJlIDAgLSBsZXQncyBqdXN0IHZlcmlmeSB0aGF0CiAgICBpZiAoc3VwcG9ydGVkRm9yVW5kZWZpbmVkLmxlbmd0aCAhPT0gMCkgewogICAgICAgICRFUlJPUigiSW50ZXJuYWwgdGVzdCBlcnJvcjogQXNzdW1wdGlvbiBhYm91dCBsZW5ndGggYmVpbmcgMCBpcyBpbnZhbGlkLiIpOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that canonicalization of locale lists treats undefined and empty lists the same.","path":"TestCases/intl402/ch09/9.2/9.2.1_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIExpc3QgaXMgbm90IGFmZmVjdGVkIGJ5IGFkdmVyc2FyaWFsCiAqICAgICBjaGFuZ2VzIHRvIEFycmF5LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50QXJyYXkoKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgdmFyIGNhbm9uaWNhbGl6ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGUsIGRlZmF1bHRMb2NhbGVdKTsKICAgIGlmIChjYW5vbmljYWxpemVkLmxlbmd0aCA+IDEpIHsKICAgICAgICAkRVJST1IoIkNhbm9uaWNhbGl6YXRpb24gZGlkbid0IHJlbW92ZSBkdXBsaWNhdGUgbGFuZ3VhZ2UgdGFncyBmcm9tIGxvY2FsZSBsaXN0LiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that the behavior of a List is not affected by adversarial\n changes to Array.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.1_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGEgc2luZ2xlIHN0cmluZyBpbnN0ZWFkIG9mIGEgbG9jYWxlIGxpc3QgaXMgdHJlYXRlZAogKiAgICAgYXMgdGhlIGxvY2FsZSBsaXN0IGNvbnRhaW5pbmcgdGhhdCBzdHJpbmcuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgdmFsaWRBbmRJbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgImRlIiwgLy8gSVNPIDYzOSBsYW5ndWFnZSBjb2RlCiAgICAiZGUtREUiLCAvLyArIElTTyAzMTY2LTEgY291bnRyeSBjb2RlCiAgICAiREUtZGUiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiY21uIiwgLy8gSVNPIDYzOSBsYW5ndWFnZSBjb2RlCiAgICAiY21uLUhhbnMiLCAvLyArIHNjcmlwdCBjb2RlCiAgICAiQ01OLWhBTlMiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiY21uLWhhbnMtY24iLCAvLyArIElTTyAzMTY2LTEgY291bnRyeSBjb2RlCiAgICAiZXMtNDE5IiwgLy8gKyBVTiBNLjQ5IHJlZ2lvbiBjb2RlCiAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdS1ib2IiLCAvLyArIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZQogICAgImkta2xpbmdvbiIsIC8vIGdyYW5kZmF0aGVyZWQgdGFnCiAgICAiY21uLWhhbnMtY24tdC1jYS11LWNhLXgtdC11IiwgLy8gc2luZ2xldG9uIHN1YnRhZ3MgY2FuIGFsc28gYmUgdXNlZCBhcyBwcml2YXRlIHVzZSBzdWJ0YWdzCiAgICAiZW5vY2hpYW4tZW5vY2hpYW4iLCAvLyBsYW5ndWFnZSBhbmQgdmFyaWFudCBzdWJ0YWdzIG1heSBiZSB0aGUgc2FtZQogICAgImRlLWdyZWdvcnktdS1jYS1ncmVnb3J5IiwgLy8gdmFyaWFudCBhbmQgZXh0ZW5zaW9uIHN1YnRhZ3MgbWF5IGJlIHRoZSBzYW1lCiAgICAiZGVfREUiLAogICAgIkRFX2RlIiwKICAgICJjbW5fSGFucyIsCiAgICAiY21uLWhhbnNfY24iLAogICAgImVzXzQxOSIsCiAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdV9ib2IiLAogICAgImlfa2xpbmdvbiIsCiAgICAiY21uLWhhbnMtY24tdC1jYS11LWNhLXhfdC11IiwKICAgICJlbm9jaGlhbl9lbm9jaGlhbiIsCiAgICAiZGUtZ3JlZ29yeV91LWNhLWdyZWdvcnkiLAogICAgImkiLCAvLyBzaW5nbGV0b24gYWxvbmUKICAgICJ4IiwgLy8gcHJpdmF0ZSB1c2Ugd2l0aG91dCBzdWJ0YWcKICAgICJ1IiwgLy8gZXh0ZW5zaW9uIHNpbmdsZXRvbiBpbiBmaXJzdCBwbGFjZQogICAgIjQxOSIsIC8vIHJlZ2lvbiBjb2RlIGluIGZpcnN0IHBsYWNlCiAgICAidS1udS1sYXRuLWN1LWJvYiIsIC8vIGV4dGVuc2lvbiBzZXF1ZW5jZSB3aXRob3V0IGxhbmd1YWdlCiAgICAiaGFucy1jbW4tY24iLCAvLyAiaGFucyIgY291bGQgdGhlb3JldGljYWxseSBiZSBhIDQtbGV0dGVyIGxhbmd1YWdlIGNvZGUsCiAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhvc2UgY2FuJ3QgYmUgZm9sbG93ZWQgYnkgZXh0bGFuZyBjb2Rlcy4KICAgICJjbW4taGFucy1jbi11LXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiY21uLWhhbnMtY24tdC11LWNhLXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiZGUtZ3JlZ29yeS1ncmVnb3J5IiAvLyBkdXBsaWNhdGUgdmFyaWFudApdOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFsaWRBbmRJbnZhbGlkTGFuZ3VhZ2VUYWdzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgICAgIHZhciBvYmoxLCBvYmoyLCBsb2NhbGUxLCBsb2NhbGUyLCBlcnJvcjEsIGVycm9yMjsKICAgICAgICB0cnkgewogICAgICAgICAgICBvYmoxID0gbmV3IENvbnN0cnVjdG9yKGxvY2FsZSk7CiAgICAgICAgICAgIGxvY2FsZTEgPSBvYmoxLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yMSA9IGU7CiAgICAgICAgfQogICAgICAgIHRyeSB7CiAgICAgICAgICAgIG9iajIgPSBuZXcgQ29uc3RydWN0b3IoW2xvY2FsZV0pOwogICAgICAgICAgICBsb2NhbGUyID0gb2JqMi5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvcjIgPSBlOwogICAgICAgIH0KCiAgICAgICAgaWYgKChlcnJvcjEgPT09IHVuZGVmaW5lZCkgIT09IChlcnJvcjIgPT09IHVuZGVmaW5lZCkpIHsKICAgICAgICAgICAgaWYgKGVycm9yMSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKwogICAgICAgICAgICAgICAgICAgICIgd2FzIGFjY2VwdGVkLCBidXQgbG9jYWxlIGxpc3QgY29udGFpbmluZyB0aGF0IHN0cmluZyB3YXNuJ3QuIik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKwogICAgICAgICAgICAgICAgICAgICIgd2FzIHJlamVjdGVkLCBidXQgbG9jYWxlIGxpc3QgY29udGFpbmluZyB0aGF0IHN0cmluZyB3YXNuJ3QuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGVycm9yMSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICBpZiAobG9jYWxlMSAhPT0gbG9jYWxlMikgewogICAgICAgICAgICAgICAgJEVSUk9SKCJTaW5nbGUgbG9jYWxlIHN0cmluZyAiICsgbG9jYWxlICsgIiByZXN1bHRzIGluICIgKyBsb2NhbGUxICsKICAgICAgICAgICAgICAgICAgICAiLCBidXQgbG9jYWxlIGxpc3QgWyIgKyBsb2NhbGUgKyAiXSByZXN1bHRzIGluICIgKyBsb2NhbGUyICsgIi4iKTsKICAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoZXJyb3IxLm5hbWUgIT09IGVycm9yMi5uYW1lKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKyAiIHJlc3VsdHMgaW4gZXJyb3IgIiArIGVycm9yMS5uYW1lICsKICAgICAgICAgICAgICAgICAgICAiLCBidXQgbG9jYWxlIGxpc3QgWyIgKyBsb2NhbGUgKyAiXSByZXN1bHRzIGluIGVycm9yICIgKyBlcnJvcjIubmFtZSArICIuIik7CiAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that a single string instead of a locale list is treated\n as the locale list containing that string.","path":"TestCases/intl402/ch09/9.2/9.2.1_3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG5vbi1vYmplY3RzIGFyZSBjb252ZXJ0ZWQgdG8gb2JqZWN0cyBiZWZvcmUgY2Fub25pY2FsaXphdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNlcGFyYXRlbHkKICAgIAogICAgLy8gbnVsbCBzaG91bGQgcmVzdWx0IGluIGEgVHlwZUVycm9yCiAgICB2YXIgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciBzdXBwb3J0ZWRGb3JOdWxsID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKG51bGwpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJOdWxsIGFzIGxvY2FsZSBsaXN0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJOdWxsIGFzIGxvY2FsZSBsaXN0IHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0gICAgCiAgICAKICAgIC8vIGxldCdzIHVzZSBhbiBlbXB0eSBsaXN0IGZvciBjb21wYXJpc29uCiAgICB2YXIgc3VwcG9ydGVkRm9yRW1wdHlMaXN0ID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtdKTsKICAgIC8vIHdlIGRvbid0IGNvbXBhcmUgdGhlIGVsZW1lbnRzIGJlY2F1c2UgbGVuZ3RoIHNob3VsZCBiZSAwIC0gbGV0J3MganVzdCB2ZXJpZnkgdGhhdAogICAgaWYgKHN1cHBvcnRlZEZvckVtcHR5TGlzdC5sZW5ndGggIT09IDApIHsKICAgICAgICAkRVJST1IoIkludGVybmFsIHRlc3QgZXJyb3I6IEFzc3VtcHRpb24gYWJvdXQgbGVuZ3RoIGJlaW5nIDAgaXMgaW52YWxpZC4iKTsKICAgIH0KCiAgICAvLyBtb3N0IG5vbi1vYmplY3RzIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgZW1wdHkgbGlzdHMgYmVjYXVzZSBhIG1pc3NpbmcgbGVuZ3RoIHByb3BlcnR5IGlzIGludGVycHJldGVkIGFzIDAKICAgIHZhciBzdXBwb3J0ZWRGb3JOdW1iZXIgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoNSk7CiAgICBpZiAoc3VwcG9ydGVkRm9yTnVtYmVyLmxlbmd0aCAhPT0gc3VwcG9ydGVkRm9yRW1wdHlMaXN0Lmxlbmd0aCkgewogICAgICAgICRFUlJPUigiU3VwcG9ydGVkIGxvY2FsZXMgZGlmZmVyIGJldHdlZW4gbnVtZXJpYyBhbmQgZW1wdHkgbGlzdCBpbnB1dC4iKTsKICAgIH0KICAgIHZhciBzdXBwb3J0ZWRGb3JCb29sZWFuID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKHRydWUpOwogICAgaWYgKHN1cHBvcnRlZEZvckJvb2xlYW4ubGVuZ3RoICE9PSBzdXBwb3J0ZWRGb3JFbXB0eUxpc3QubGVuZ3RoKSB7CiAgICAgICAgJEVSUk9SKCJTdXBwb3J0ZWQgbG9jYWxlcyBkaWZmZXIgYmV0d2VlbiBib29sZWFuIGFuZCBlbXB0eSBsaXN0IGlucHV0LiIpOwogICAgfQogICAgCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that non-objects are converted to objects before canonicalization.","path":"TestCases/intl402/ch09/9.2/9.2.1_4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHZhbHVlcyBvdGhlciB0aGFuIHN0cmluZ3MgYXJlIG5vdCBhY2NlcHRlZCBhcyBsb2NhbGVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIG5vdFN0cmluZ09yT2JqZWN0ID0gW3VuZGVmaW5lZCwgbnVsbCwgdHJ1ZSwgZmFsc2UsIDAsIDUsIC01LCBOYU5dOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgbm90U3RyaW5nT3JPYmplY3QuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbdmFsdWVdKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCIiICsgdmFsdWUgKyAiIGFzIGxvY2FsZSB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCIiICsgdmFsdWUgKyAiIGFzIGxvY2FsZSB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that values other than strings are not accepted as locales.","path":"TestCases/intl402/ch09/9.2/9.2.1_8_c_ii.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNhbm9uaWNhbGl6YXRpb24gb2YgbG9jYWxlIGxpc3RzIHJlbW92ZXMgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBDb25zdHJ1Y3RvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIHZhciBjYW5vbmljYWxpemVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlLCBkZWZhdWx0TG9jYWxlXSk7CiAgICBpZiAoY2Fub25pY2FsaXplZC5sZW5ndGggPiAxKSB7CiAgICAgICAgJEVSUk9SKCJDYW5vbmljYWxpemF0aW9uIGRpZG4ndCByZW1vdmUgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MgZnJvbSBsb2NhbGUgbGlzdC4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that canonicalization of locale lists removes duplicate language tags.","path":"TestCases/intl402/ch09/9.2/9.2.1_8_c_vi.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZXMgdGhhdCBhcmUgcmVwb3J0ZWQgYnkgcmVzb2x2ZWRPcHRpb25zCiAqICAgICBhcmUgYWxzbyByZXBvcnRlZCBieSBzdXBwb3J0ZWRMb2NhbGVzT2YuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgIC8vIHRoaXMgdGVzdCBzaG91bGQgd29yayBlcXVhbGx5IGZvciBib3RoIG1hdGNoaW5nIGFsZ29yaXRobXMKICAgIFsibG9va3VwIiwgImJlc3QgZml0Il0uZm9yRWFjaChmdW5jdGlvbiAobWF0Y2hlcikgewogICAgICAgIHZhciBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yID0gaW5mby5zdXBwb3J0ZWQuY29uY2F0KGluZm8uYnlGYWxsYmFjayk7CiAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yLAogICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIC8vIHdlIGNvdWxkIGNoZWNrIHRoZSBsZW5ndGggZmlyc3QsIGJ1dCBpdCdzIHByb2JhYmx5IG1vcmUgaW50ZXJlc3Rpbmcgd2hpY2ggbG9jYWxlcyBhcmUgbWlzc2luZwogICAgICAgIHZhciBpID0gMDsKICAgICAgICB2YXIgbGltaXQgPSBNYXRoLm1pbihzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yLmxlbmd0aCwgc3VwcG9ydGVkLmxlbmd0aCk7CiAgICAgICAgd2hpbGUgKGkgPCBsaW1pdCAmJiBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yW2ldID09PSBzdXBwb3J0ZWRbaV0pIHsKICAgICAgICAgICAgaSsrOwogICAgICAgIH0KICAgICAgICBpZiAoaSA8IHN1cHBvcnRlZEJ5Q29uc3RydWN0b3IubGVuZ3RoKSB7CiAgICAgICAgICAgICRFUlJPUigiTG9jYWxlICIgKyBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yW2ldICsKICAgICAgICAgICAgICAgICIgaXMgcmV0dXJuZWQgYnkgcmVzb2x2ZWRPcHRpb25zIGJ1dCBub3QgYnkgc3VwcG9ydGVkTG9jYWxlc09mLiIpOwogICAgICAgIH0gZWxzZSBpZiAoaSA8IHN1cHBvcnRlZC5sZW5ndGgpIHsKICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIHN1cHBvcnRlZFtpXSArCiAgICAgICAgICAgICAgICAiIGlzIHJldHVybmVkIGJ5IHN1cHBvcnRlZExvY2FsZXNPZiBidXQgbm90IGJ5IHJlc29sdmVkT3B0aW9ucy4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgLy8gdGhpcyB0ZXN0IGlzIG9ubHkgdmFsaWQgZm9yIGxvb2t1cCAtIGJlc3QgZml0IG1heSBmaW5kIGFkZGl0aW9uYWwgbG9jYWxlcyBzdXBwb3J0ZWQKICAgIHZhciB1bnN1cHBvcnRlZEJ5Q29uc3RydWN0b3IgPSBpbmZvLnVuc3VwcG9ydGVkOwogICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZih1bnN1cHBvcnRlZEJ5Q29uc3RydWN0b3IsCiAgICAgICAgICAgIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwogICAgaWYgKHN1cHBvcnRlZC5sZW5ndGggPiAwKSB7CiAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIHN1cHBvcnRlZFswXSArCiAgICAgICAgICAgICIgaXMgcmV0dXJuZWQgYnkgc3VwcG9ydGVkTG9jYWxlc09mIGJ1dCBub3QgYnkgcmVzb2x2ZWRPcHRpb25zLiIpOwogICAgfQoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that locales that are reported by resolvedOptions\n are also reported by supportedLocalesOf.","path":"TestCases/intl402/ch09/9.2/9.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZSIsICJleHRlbnNpb24iLCAiZXh0ZW5zaW9uSW5kZXgiXSk7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgbG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKHVuZGVmaW5lZCwge2xvY2FsZU1hdGNoZXI6ICJsb29rdXAifSkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgaWYgKCFpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGxvY2FsZSkpIHsKICAgICAgICAkRVJST1IoIkNvbnN0cnVjdG9yIHJldHVybnMgaW52YWxpZCBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7CiAgICB9CgogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.3_5.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBtaXNzaW5nIFVuaWNvZGUgZXh0ZW5zaW9uIHZhbHVlcyBkZWZhdWx0IHRvIHRydWUgZm9yCiAqICAgICBib29sZWFuIGtleXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGV4dGVuc2lvbnMgPSBbIi11LWNvLXBob25lYmsta24iLCAiLXUta24tY28tcGhvbmViayJdOwpleHRlbnNpb25zLmZvckVhY2goZnVuY3Rpb24gKGV4dGVuc2lvbikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIHZhciBjb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKFtkZWZhdWx0TG9jYWxlICsgZXh0ZW5zaW9uXSwge3VzYWdlOiAic29ydCJ9KTsKICAgIHZhciBsb2NhbGUgPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICB2YXIgbnVtZXJpYyA9IGNvbGxhdG9yLnJlc29sdmVkT3B0aW9ucygpLm51bWVyaWM7CiAgICBpZiAobnVtZXJpYyAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKG51bWVyaWMgIT09IHRydWUpIHsKICAgICAgICAgICAgJEVSUk9SKCJEZWZhdWx0IHZhbHVlIGZvciBcImtuXCIgc2hvdWxkIGJlIHRydWUsIGJ1dCBpcyAiICsgbnVtZXJpYyArICIuIik7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhbGUuaW5kZXhPZigiLWtuIikgIT09IC0xKSB7CiAgICAgICAgICAgICRFUlJPUigiXCJrblwiIGlzIHJldHVybmVkIGluIGxvY2FsZSwgYnV0IHNob3VsZG4ndCBiZS4iKTsKICAgICAgICB9CiAgICB9Cn0pOwoK","commentary":"","description":"Tests that missing Unicode extension values default to true for\n boolean keys.","path":"TestCases/intl402/ch09/9.2/9.2.5_11_g_ii_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImRhdGFMb2NhbGUiLCAibnUiLCAiY2EiLCAiY28iLCAibG9jYWxlIl0pOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGxvY2FsZSA9IG5ldyBDb25zdHJ1Y3Rvcih1bmRlZmluZWQsIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIGlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhsb2NhbGUpKSB7CiAgICAgICAgJEVSUk9SKCJDb25zdHJ1Y3RvciByZXR1cm5zIGludmFsaWQgbG9jYWxlICIgKyBsb2NhbGUgKyAiLiIpOwogICAgfQoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.5_6.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIExpc3QgaXMgbm90IGFmZmVjdGVkIGJ5IGFkdmVyc2FyaWFsCiAqICAgICBjaGFuZ2VzIHRvIEFycmF5LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50QXJyYXkoKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIC8vIHRoaXMgdGVzdCBzaG91bGQgd29yayBlcXVhbGx5IGZvciBib3RoIG1hdGNoaW5nIGFsZ29yaXRobXMKICAgIFsibG9va3VwIiwgImJlc3QgZml0Il0uZm9yRWFjaChmdW5jdGlvbiAobWF0Y2hlcikgewogICAgICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgICAgIHZhciBjYW5vbmljYWxpemVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlLCBkZWZhdWx0TG9jYWxlXSwKICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICBpZiAoY2Fub25pY2FsaXplZC5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2Fub25pY2FsaXphdGlvbiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiIGRpZG4ndCByZW1vdmUgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MgZnJvbSBsb2NhbGUgbGlzdC4iKTsKICAgICAgICB9CiAgICB9KTsKCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that the behavior of a List is not affected by adversarial\n changes to Array.prototype.","path":"TestCases/intl402/ch09/9.2/9.2.6_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgcmV0dXJucyBhbiBlbXB0eSBsaXN0IHdoZW4KICogICAgIGdpdmVuIGFuIGVtcHR5IGxpc3QuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtdLCB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIGlmIChzdXBwb3J0ZWQubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICRFUlJPUigiU3VwcG9ydGVkTG9jYWxlcyB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiIHJldHVybmVkIGEgbm9uLWVtcHR5IGxpc3QgZm9yIGFuIGVtcHR5IGxpc3QuIik7CiAgICAgICAgfQogICAgfSk7CgogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that LookupSupportedLocales returns an empty list when\n given an empty list.","path":"TestCases/intl402/ch09/9.2/9.2.6_4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZXMgZG8gbm90IGFmZmVjdAogKiAgICB3aGV0aGVyIGEgbG9jYWxlIGlzIGNvbnNpZGVyZWQgc3VwcG9ydGVkLCBidXQgYXJlIHJlcG9ydGVkIGJhY2suCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgICAgICB2YXIgYWxsTG9jYWxlcyA9IGluZm8uc3VwcG9ydGVkLmNvbmNhdChpbmZvLmJ5RmFsbGJhY2ssIGluZm8udW5zdXBwb3J0ZWQpOwogICAgICAgIGFsbExvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICAgICAgICAgIHZhciB2YWxpZEV4dGVuc2lvbiA9ICItdS1jby1waG9uZWJrLW51LWxhdG4iOwogICAgICAgICAgICB2YXIgaW52YWxpZEV4dGVuc2lvbiA9ICItdS1udS1pbnZhbGlkIjsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZDEgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2xvY2FsZV0sCiAgICAgICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgICAgICB2YXIgc3VwcG9ydGVkMiA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbbG9jYWxlICsgdmFsaWRFeHRlbnNpb25dLAogICAgICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZDMgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2xvY2FsZSArIGludmFsaWRFeHRlbnNpb25dLAogICAgICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICAgICAgaWYgKHN1cHBvcnRlZDEubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkMi5sZW5ndGggIT09IDEgfHwgc3VwcG9ydGVkMy5sZW5ndGggIT09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkRVJST1IoIlByZXNlbmNlIG9mIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZSBhZmZlY3RzIHdoZXRoZXIgbG9jYWxlICIgKwogICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUgKyAiIGlzIGNvbnNpZGVyZWQgc3VwcG9ydGVkIHdpdGggbWF0Y2hlciAiICsgbWF0Y2hlciArICIuIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkMlswXSAhPT0gbG9jYWxlICsgdmFsaWRFeHRlbnNpb24gfHwgc3VwcG9ydGVkM1swXSAhPT0gbG9jYWxlICsgaW52YWxpZEV4dGVuc2lvbikgewogICAgICAgICAgICAgICAgICAgIGFsZXJ0KGxvY2FsZSArICI7ICIgKyBzdXBwb3J0ZWQyWzBdICsgIjsgIiArIHN1cHBvcnRlZDNbMF0pOwogICAgICAgICAgICAgICAgICAgICRFUlJPUigiVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHNlcXVlbmNlIGlzIG5vdCBjb3JyZWN0bHkgcmV0dXJuZWQgZm9yIGxvY2FsZSAiICsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlICsgIiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZDIubGVuZ3RoICE9PSAwIHx8IHN1cHBvcnRlZDMubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgJEVSUk9SKCJQcmVzZW5jZSBvZiBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gc2VxdWVuY2UgYWZmZWN0cyB3aGV0aGVyIGxvY2FsZSAiICsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlICsgIiBpcyBjb25zaWRlcmVkIHN1cHBvcnRlZCB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that Unicode locale extension sequences do not affect\n whether a locale is considered supported, but are reported back.","path":"TestCases/intl402/ch09/9.2/9.2.6_4_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgaW5jbHVkZXMgdGhlIGRlZmF1bHQgbG9jYWxlCiAqICAgICBhbmQgZG9lc24ndCBpbmNsdWRlIHRoZSAibm8gbGluZ3Vpc3RpYyBjb250ZW50IiBsb2NhbGUuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBDb25zdHJ1Y3RvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgICB2YXIgbm9MaW5ndWlzdGljQ29udGVudCA9ICJ6eHgiOwogICAgICAgIHZhciBzdXBwb3J0ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGUsIG5vTGluZ3Vpc3RpY0NvbnRlbnRdLAogICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIGlmIChzdXBwb3J0ZWQuaW5kZXhPZihkZWZhdWx0TG9jYWxlKSA9PT0gLTEpIHsKICAgICAgICAgICAgJEVSUk9SKCJTdXBwb3J0ZWRMb2NhbGVzIGRpZG4ndCByZXR1cm4gZGVmYXVsdCBsb2NhbGUgd2l0aCBtYXRjaGVyICIgKyBtYXRjaGVyICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgaWYgKHN1cHBvcnRlZC5pbmRleE9mKG5vTGluZ3Vpc3RpY0NvbnRlbnQpICE9PSAtMSkgewogICAgICAgICAgICAkRVJST1IoIlN1cHBvcnRlZExvY2FsZXMgcmV0dXJuZWQgdGhlIFwibm8gbGluZ3Vpc3RpYyBjb250ZW50XCIgbG9jYWxlIHdpdGggbWF0Y2hlciAiICsgbWF0Y2hlciArICIuIik7CiAgICAgICAgfQogICAgICAgIGlmIChzdXBwb3J0ZWQubGVuZ3RoID4gMSkgewogICAgICAgICAgICAkRVJST1IoIlN1cHBvcnRlZExvY2FsZXMgcmV0dXJuZWQgc3RyYXkgbG9jYWxlczogIiArIHN1cHBvcnRlZC5qb2luKCIsICIpICsgIiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that LookupSupportedLocales includes the default locale\n and doesn't include the \"no linguistic content\" locale.","path":"TestCases/intl402/ch09/9.2/9.2.6_4_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICAKICAgIHZhciB2YWxpZFZhbHVlcyA9IFt1bmRlZmluZWQsICJsb29rdXAiLCAiYmVzdCBmaXQiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICJsb29rdXAiOyB9fV07CiAgICB2YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBzdXBwb3J0ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGVdLCB7bG9jYWxlTWF0Y2hlcjogdmFsdWV9KTsKICAgIH0pOwogICAgCiAgICB2YXIgaW52YWxpZFZhbHVlcyA9IFtudWxsLCAwLCA1LCBOYU4sIHRydWUsIGZhbHNlLCAiaW52YWxpZCJdOwogICAgaW52YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlXSwge2xvY2FsZU1hdGNoZXI6IHZhbHVlfSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsb2NhbGVNYXRjaGVyIHZhbHVlICIgKyB2YWx1ZSArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICAgICAkRVJST1IoIkludmFsaWQgbG9jYWxlTWF0Y2hlciB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgcmV0dXJuIHRydWU7Cn0pOwoK","commentary":"","description":"Tests that the option localeMatcher is processed correctly.","path":"TestCases/intl402/ch09/9.2/9.2.8_1_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBhcnJheSByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIGV4dGVuc2libGUsCiAqICAgICBidXQgaXRzIHByb3BlcnRpZXMgYXJlIG5vbi13cml0YWJsZS9ub24tY29uZmlndXJhYmxlLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKZnVuY3Rpb24gdGVzdEZyb3plblByb3BlcnR5KG9iaiwgcHJvcGVydHkpIHsKICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3BlcnR5KTsKICAgIGlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAgICAgJEVSUk9SKCJQcm9wZXJ0eSAiICsgcHJvcGVydHkgKyAiIG9mIG9iamVjdCByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIHdyaXRhYmxlLiIpOwogICAgfQogICAgaWYgKGRlc2MuY29uZmlndXJhYmxlKSB7CiAgICAgICAgJEVSUk9SKCJQcm9wZXJ0eSAiICsgcHJvcGVydHkgKyAiIG9mIG9iamVjdCByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIGNvbmZpZ3VyYWJsZS4iKTsKICAgIH0KfQoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlXSk7CiAgICBpZiAoIU9iamVjdC5pc0V4dGVuc2libGUoc3VwcG9ydGVkKSkgewogICAgICAgICRFUlJPUigiT2JqZWN0IHJldHVybmVkIGJ5IFN1cHBvcnRlZExvY2FsZXMgaXMgbm90IGV4dGVuc2libGUuIik7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN1cHBvcnRlZC5sZW5ndGg7IGkrKykgewogICAgICAgIHRlc3RGcm96ZW5Qcm9wZXJ0eShzdXBwb3J0ZWQsIGkpOwogICAgfQogICAgdGVzdEZyb3plblByb3BlcnR5KHN1cHBvcnRlZCwgImxlbmd0aCIpOwoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that the array returned by SupportedLocales is extensible,\n but its properties are non-writable/non-configurable.","path":"TestCases/intl402/ch09/9.2/9.2.8_4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFuIG9iamVjdCBjYW4ndCBiZSByZS1pbml0aWFsaXplZCBhcyBhIENvbGxhdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIG9iaiwgZXJyb3I7CiAgICAKICAgIC8vIHZhcmlhbnQgMTogdXNlIGNvbnN0cnVjdG9yIGluIGEgIm5ldyIgZXhwcmVzc2lvbgogICAgb2JqID0gbmV3IENvbnN0cnVjdG9yKCk7CiAgICB0cnkgewogICAgICAgIEludGwuQ29sbGF0b3IuY2FsbChvYmopOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIENvbGxhdG9yIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIENvbGxhdG9yIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KICAgIAogICAgLy8gdmFyaWFudCAyOiB1c2UgY29uc3RydWN0b3IgYXMgYSBmdW5jdGlvbgogICAgb2JqID0gQ29uc3RydWN0b3IuY2FsbCh7fSk7CiAgICBlcnJvciA9IHVuZGVmaW5lZDsKICAgIHRyeSB7CiAgICAgICAgSW50bC5Db2xsYXRvci5jYWxsKG9iaik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlJlLWluaXRpYWxpemluZyBvYmplY3QgY3JlYXRlZCB3aXRoIGNvbnN0cnVjdG9yIGFzIGZ1bmN0aW9uIGFzIENvbGxhdG9yIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBjb25zdHJ1Y3RvciBhcyBmdW5jdGlvbiBhcyBDb2xsYXRvciB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that an object can't be re-initialized as a Collator.","path":"TestCases/intl402/ch10/10.1/10.1.1_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZU1hdGNoZXIiLCAia24iLCAia2siLCAia2YiXSk7Cgp2YXIgbG9jYWxlID0gbmV3IEludGwuQ29sbGF0b3IodW5kZWZpbmVkLCB7bG9jYWxlTWF0Y2hlcjogImxvb2t1cCJ9KS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CmlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhsb2NhbGUpKSB7CiAgICAkRVJST1IoIkNvbGxhdG9yIHJldHVybnMgaW52YWxpZCBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7Cn0KCg==","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch10/10.1/10.1.1_10.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLkNvbGxhdG9yLCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCBbImxvb2t1cCIsICJiZXN0IGZpdCJdLCAiYmVzdCBmaXQiLCB7bm9SZXR1cm46IHRydWV9KTsKCg==","commentary":"","description":"Tests that the option localeMatcher is processed correctly.","path":"TestCases/intl402/ch10/10.1/10.1.1_11.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb25zIG51bWVyaWMsIG5vcm1hbGl6YXRpb24sIGFuZCBjYXNlRmlyc3QgYXJlIHByb2Nlc3NlZCBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0T3B0aW9uKEludGwuQ29sbGF0b3IsICJudW1lcmljIiwgImJvb2xlYW4iLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwge2lzT3B0aW9uYWw6IHRydWV9KTsKdGVzdE9wdGlvbihJbnRsLkNvbGxhdG9yLCAibm9ybWFsaXphdGlvbiIsICJib29sZWFuIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHtpc09wdGlvbmFsOiB0cnVlfSk7CnRlc3RPcHRpb24oSW50bC5Db2xsYXRvciwgImNhc2VGaXJzdCIsICJzdHJpbmciLCBbInVwcGVyIiwgImxvd2VyIiwgImZhbHNlIl0sIHVuZGVmaW5lZCwge2lzT3B0aW9uYWw6IHRydWV9KTsKCg==","commentary":"","description":"Tests that the options numeric, normalization, and caseFirst are processed correctly.","path":"TestCases/intl402/ch10/10.1/10.1.1_13.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGUgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGUgImNvIiBrZXkgaW4gSW50bC5Db2xsYXRvci4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgpmdW5jdGlvbiBjaGVja0NvbGxhdGlvbihleHRlbnNpb25Db1ZhbHVlLCB1c2FnZVZhbHVlLCBleHBlY3RlZENvbGxhdGlvbnMsIGV4cGVjdGVkVXNhZ2UpIHsKICAgIHZhciByZXF1ZXN0TG9jYWxlID0gZXh0ZW5zaW9uQ29WYWx1ZSAhPT0gdW5kZWZpbmVkID8gImRlLURFLXUtY28tIiArIGV4dGVuc2lvbkNvVmFsdWUgOiAiZGUtREUiOwogICAgdmFyIG9wdGlvbnMgPSB1c2FnZVZhbHVlICE9PSB1bmRlZmluZWQgPyB7IHVzYWdlOiB1c2FnZVZhbHVlIH0gOiB1bmRlZmluZWQ7CiAgICB2YXIgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihbcmVxdWVzdExvY2FsZV0sIG9wdGlvbnMpOwoKICAgIHZhciBjb2xsYXRpb24gPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKS5jb2xsYXRpb247CiAgICBpZiAoZXhwZWN0ZWRDb2xsYXRpb25zLmluZGV4T2YoY29sbGF0aW9uKSA9PT0gLTEpIHsKICAgICAgICAkRVJST1IoKGV4dGVuc2lvbkNvVmFsdWUgPT09IHVuZGVmaW5lZCA/ICJEZWZhdWx0IGNvbGxhdGlvbiIgOiAiQ29sbGF0aW9uIGZvciBcIiIgKyBleHRlbnNpb25Db1ZhbHVlKSArCiAgICAgICAgICAgICJcIiBzaG91bGQgYmUgIiArIGV4cGVjdGVkQ29sbGF0aW9ucy5qb2luKCIgb3IgIikgKyAiLCBidXQgaXMgIiArIGNvbGxhdGlvbiArICIuIik7CiAgICB9CgogICAgdmFyIHVzYWdlID0gY29sbGF0b3IucmVzb2x2ZWRPcHRpb25zKCkudXNhZ2U7CiAgICBpZiAoZXhwZWN0ZWRVc2FnZSAhPT0gdXNhZ2UpIHsKICAgICAgICAkRVJST1IoKHVzYWdlVmFsdWUgPT09IHVuZGVmaW5lZCA/ICJEZWZhdWx0IHVzYWdlIiA6ICJVc2FnZSIpICsKICAgICAgICAgICAgIiBzaG91bGQgYmUgIiArIGV4cGVjdGVkVXNhZ2UgKyAiLCBidXQgaXMgIiArIHVzYWdlICsgIi4iKTsKICAgIH0KfQoKY2hlY2tDb2xsYXRpb24odW5kZWZpbmVkLCB1bmRlZmluZWQsIFsiZGVmYXVsdCJdLCAic29ydCIpOwoKY2hlY2tDb2xsYXRpb24oInBob25lYmsiLCB1bmRlZmluZWQsIFsicGhvbmViayIsICJkZWZhdWx0Il0sICJzb3J0Iik7CgpjaGVja0NvbGxhdGlvbigiaW52YWxpZCIsIHVuZGVmaW5lZCwgWyJkZWZhdWx0Il0sICJzb3J0Iik7CgpjaGVja0NvbGxhdGlvbigic3RhbmRhcmQiLCB1bmRlZmluZWQsIFsiZGVmYXVsdCJdLCAic29ydCIpOwoKY2hlY2tDb2xsYXRpb24oInN0YW5kYXJkIiwgInNlYXJjaCIsIFsiZGVmYXVsdCJdLCAic2VhcmNoIik7CgpjaGVja0NvbGxhdGlvbigic3RhbmRhcmQiLCAic29ydCIsIFsiZGVmYXVsdCJdLCAic29ydCIpOwoKY2hlY2tDb2xsYXRpb24oInNlYXJjaCIsIHVuZGVmaW5lZCwgWyJkZWZhdWx0Il0sICJzb3J0Iik7CgpjaGVja0NvbGxhdGlvbigic2VhcmNoIiwgInNlYXJjaCIsIFsiZGVmYXVsdCJdLCAic2VhcmNoIik7CgpjaGVja0NvbGxhdGlvbigic2VhcmNoIiwgInNvcnQiLCBbImRlZmF1bHQiXSwgInNvcnQiKTsKCg==","commentary":"","description":"Tests the special handling of the \"co\" key in Intl.Collator.","path":"TestCases/intl402/ch10/10.1/10.1.1_19_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb25zIG51bWVyaWMsIG5vcm1hbGl6YXRpb24sIGFuZCBjYXNlRmlyc3QgY2FuIGJlCiAqICAgICBzZXQgdGhyb3VnaCBlaXRoZXIgdGhlIGxvY2FsZSBvciB0aGUgb3B0aW9ucy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBvcHRpb25zID0gWwogICAge2tleTogImtuIiwgcHJvcGVydHk6ICJudW1lcmljIiwgdHlwZTogImJvb2xlYW4iLCB2YWx1ZXM6IFt0cnVlLCBmYWxzZV19LAogICAge2tleTogImtrIiwgcHJvcGVydHk6ICJub3JtYWxpemF0aW9uIiwgdHlwZTogImJvb2xlYW4iLCB2YWx1ZXM6IFt0cnVlLCBmYWxzZV19LAogICAge2tleTogImtmIiwgcHJvcGVydHk6ICJjYXNlRmlyc3QiLCB0eXBlOiAic3RyaW5nIiwgdmFsdWVzOiBbInVwcGVyIiwgImxvd2VyIiwgImZhbHNlIl19Cl07CgpvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIHZhciBjb2xsYXRvciwgb3B0LCByZXN1bHQ7CiAgICAKICAgIC8vIGZpbmQgb3V0IHdoaWNoIHZhbHVlcyBhcmUgc3VwcG9ydGVkIGZvciBhIHByb3BlcnR5IGluIHRoZSBkZWZhdWx0IGxvY2FsZQogICAgdmFyIHN1cHBvcnRlZFZhbHVlcyA9IFtdOwogICAgb3B0aW9uLnZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIG9wdCA9IHt9OwogICAgICAgIG9wdFtvcHRpb24ucHJvcGVydHldID0gdmFsdWU7CiAgICAgICAgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihbZGVmYXVsdExvY2FsZV0sIG9wdCk7CiAgICAgICAgcmVzdWx0ID0gY29sbGF0b3IucmVzb2x2ZWRPcHRpb25zKClbb3B0aW9uLnByb3BlcnR5XTsKICAgICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQgJiYgc3VwcG9ydGVkVmFsdWVzLmluZGV4T2YocmVzdWx0KSA9PT0gLTEpIHsKICAgICAgICAgICAgc3VwcG9ydGVkVmFsdWVzLnB1c2gocmVzdWx0KTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgLy8gdmVyaWZ5IHRoYXQgdGhlIHN1cHBvcnRlZCB2YWx1ZXMgY2FuIGFsc28gYmUgc2V0IHRocm91Z2ggdGhlIGxvY2FsZQogICAgc3VwcG9ydGVkVmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihbZGVmYXVsdExvY2FsZSArICItdS0iICsgb3B0aW9uLmtleSArICItIiArIHZhbHVlXSk7CiAgICAgICAgcmVzdWx0ID0gY29sbGF0b3IucmVzb2x2ZWRPcHRpb25zKClbb3B0aW9uLnByb3BlcnR5XTsKICAgICAgICBpZiAocmVzdWx0ICE9PSB2YWx1ZSkgewogICAgICAgICAgICAkRVJST1IoIlByb3BlcnR5ICIgKyBvcHRpb24ucHJvcGVydHkgKyAiIGNvdWxkbid0IGJlIHNldCB0aHJvdWdoIGxvY2FsZSBleHRlbnNpb24ga2V5ICIgKwogICAgICAgICAgICAgICAgb3B0aW9uLmtleSArICI7IHJlcXVlc3RlZCB2YWx1ZTogIiArIHZhbHVlICsgIjsgYWN0dWFsIHZhbHVlOiAiICsgcmVzdWx0ICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgLy8gdmVyaWZ5IHRoYXQgdGhlIG9wdGlvbnMgc2V0dGluZyBvdmVycmlkZXMgdGhlIGxvY2FsZSBzZXR0aW5nCiAgICBzdXBwb3J0ZWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICB2YXIgb3RoZXJWYWx1ZTsKICAgICAgICBvcHRpb24udmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHBvc3NpYmxlVmFsdWUpIHsKICAgICAgICAgICAgaWYgKHBvc3NpYmxlVmFsdWUgIT09IHZhbHVlKSB7CiAgICAgICAgICAgICAgICBvdGhlclZhbHVlID0gcG9zc2libGVWYWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIGlmIChvdGhlclZhbHVlICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgb3B0ID0ge307CiAgICAgICAgICAgIG9wdFtvcHRpb24ucHJvcGVydHldID0gdmFsdWU7CiAgICAgICAgICAgIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoW2RlZmF1bHRMb2NhbGUgKyAiLXUtIiArIG9wdGlvbi5rZXkgKyAiLSIgKyBvdGhlclZhbHVlXSwgb3B0KTsKICAgICAgICAgICAgcmVzdWx0ID0gY29sbGF0b3IucmVzb2x2ZWRPcHRpb25zKClbb3B0aW9uLnByb3BlcnR5XTsKICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdmFsdWUpIHsKICAgICAgICAgICAgICAgICRFUlJPUigiT3B0aW9ucyB2YWx1ZSBmb3IgcHJvcGVydHkgIiArIG9wdGlvbi5wcm9wZXJ0eSArICIgZG9lc24ndCBvdmVycmlkZSBsb2NhbGUgZXh0ZW5zaW9uIGtleSAiICsKICAgICAgICAgICAgICAgICAgICBvcHRpb24ua2V5ICsgIjsgcmVxdWVzdGVkIHZhbHVlOiAiICsgdmFsdWUgKyAiOyBhY3R1YWwgdmFsdWU6ICIgKyByZXN1bHQgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that the options numeric, normalization, and caseFirst can be\n set through either the locale or the options.","path":"TestCases/intl402/ch10/10.1/10.1.1_19_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gc2Vuc2l0aXZpdHkgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoZSBmYWxsYmFjayBpcyB2YXJpYW50IG9ubHkgZm9yIHVzYWdlID09PSBzb3J0LCBidXQgdGhhdCBoYXBwZW5zIHRvIGJlIHRoZSBmYWxsYmFjayBmb3IgdXNhZ2UKdGVzdE9wdGlvbihJbnRsLkNvbGxhdG9yLCAic2Vuc2l0aXZpdHkiLCAic3RyaW5nIiwgWyJiYXNlIiwgImFjY2VudCIsICJjYXNlIiwgInZhcmlhbnQiXSwgInZhcmlhbnQiKTsKCg==","commentary":"","description":"Tests that the option sensitivity is processed correctly.","path":"TestCases/intl402/ch10/10.1/10.1.1_20.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gaWdub3JlUHVuY3R1YXRpb24gaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoZSBmYWxsYmFjayBpcyB2YXJpYW50IG9ubHkgZm9yIHVzYWdlID09PSBzb3J0LCBidXQgdGhhdCBoYXBwZW5zIHRvIGJlIHRoZSBmYWxsYmFjayBmb3IgdXNhZ2UKdGVzdE9wdGlvbihJbnRsLkNvbGxhdG9yLCAiaWdub3JlUHVuY3R1YXRpb24iLCAiYm9vbGVhbiIsIHVuZGVmaW5lZCwgZmFsc2UpOwoK","commentary":"","description":"Tests that the option ignorePunctuation is processed correctly.","path":"TestCases/intl402/ch10/10.1/10.1.1_23.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gdXNhZ2UgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RPcHRpb24oSW50bC5Db2xsYXRvciwgInVzYWdlIiwgInN0cmluZyIsIFsic29ydCIsICJzZWFyY2giXSwgInNvcnQiKTsKCg==","commentary":"","description":"Tests that the option usage is processed correctly.","path":"TestCases/intl402/ch10/10.1/10.1.1_6.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yIGNhbiBiZSBzdWJjbGFzc2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKLy8gZ2V0IGEgY29sbGF0b3IgYW5kIGhhdmUgaXQgc29ydCBhbiBhcnJheSBmb3IgY29tcGFyaXNvbiB3aXRoIHRoZSBzdWJjbGFzcwp2YXIgbG9jYWxlcyA9IFsidGxoIiwgImlkIiwgImVuIl07CnZhciBhID0gWyJBIiwgIkMiLCAiRSIsICJCIiwgIkQiLCAiRiJdOwp2YXIgcmVmZXJlbmNlQ29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihsb2NhbGVzKTsKdmFyIHJlZmVyZW5jZVNvcnRlZCA9IGEuc2xpY2UoKS5zb3J0KHJlZmVyZW5jZUNvbGxhdG9yLmNvbXBhcmUpOwoKZnVuY3Rpb24gTXlDb2xsYXRvcihsb2NhbGVzLCBvcHRpb25zKSB7CiAgICBJbnRsLkNvbGxhdG9yLmNhbGwodGhpcywgbG9jYWxlcywgb3B0aW9ucyk7CiAgICAvLyBjb3VsZCBpbml0aWFsaXplIE15Q29sbGF0b3IgcHJvcGVydGllcwp9CgpNeUNvbGxhdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoSW50bC5Db2xsYXRvci5wcm90b3R5cGUpOwpNeUNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE15Q29sbGF0b3I7Ci8vIGNvdWxkIGFkZCBtZXRob2RzIHRvIE15Q29sbGF0b3IucHJvdG90eXBlCgp2YXIgY29sbGF0b3IgPSBuZXcgTXlDb2xsYXRvcihsb2NhbGVzKTsKYS5zb3J0KGNvbGxhdG9yLmNvbXBhcmUpOwp0ZXN0QXJyYXlzQXJlU2FtZShyZWZlcmVuY2VTb3J0ZWQsIGEpOwoK","commentary":"","description":"Tests that Intl.Collator can be subclassed.","path":"TestCases/intl402/ch10/10.1/10.1.2_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG9iamVjdHMgY29uc3RydWN0ZWQgYnkgSW50bC5Db2xsYXRvciBoYXZlIHRoZSBzcGVjaWZpZWQgaW50ZXJuYWwgcHJvcGVydGllcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgb2JqID0gbmV3IEludGwuQ29sbGF0b3IoKTsKCnZhciBhY3R1YWxQcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTsKaWYgKGFjdHVhbFByb3RvdHlwZSAhPT0gSW50bC5Db2xsYXRvci5wcm90b3R5cGUpIHsKICAgICRFUlJPUigiUHJvdG90eXBlIG9mIG9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkNvbGxhdG9yIGlzbid0IEludGwuQ29sbGF0b3IucHJvdG90eXBlOyBnb3QgIiArIGFjdHVhbFByb3RvdHlwZSk7Cn0KCmlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSB7CiAgICAkRVJST1IoIk9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkNvbGxhdG9yIG11c3QgYmUgZXh0ZW5zaWJsZS4iKTsKfQoK","commentary":"","description":"Tests that objects constructed by Intl.Collator have the specified internal properties.","path":"TestCases/intl402/ch10/10.1/10.1.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLkNvbGxhdG9yLCB0cnVlLCB0cnVlLCBbInN1cHBvcnRlZExvY2FsZXNPZiJdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.Collator\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.1/10.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlIGhhcyB0aGUgcmVxdWlyZWQgYXR0cmlidXRlcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xsYXRvciwgInByb3RvdHlwZSIpOwppZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkLiIpOwp9CmlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IucHJvdG90eXBlIG11c3Qgbm90IGJlIHdyaXRhYmxlLiIpOwp9CmlmIChkZXNjLmVudW1lcmFibGUpIHsKICAgICRFUlJPUigiSW50bC5Db2xsYXRvci5wcm90b3R5cGUgbXVzdCBub3QgYmUgZW51bWVyYWJsZS4iKTsKfQppZiAoZGVzYy5jb25maWd1cmFibGUpIHsKICAgICRFUlJPUigiSW50bC5Db2xsYXRvci5wcm90b3R5cGUgbXVzdCBub3QgYmUgY29uZmlndXJhYmxlLiIpOwp9Cgo=","commentary":"","description":"Tests that Intl.Collator.prototype has the required attributes.","path":"TestCases/intl402/ch10/10.2/10.2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yIGhhcyBhIHN1cHBvcnRlZExvY2FsZXNPZgogKiBwcm9wZXJ0eSwgYW5kIGl0IHdvcmtzIGFzIHBsYW5uZWQuCiAqLwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKdmFyIG5vdFN1cHBvcnRlZCA9ICd6eHgnOyAvLyAibm8gbGluZ3Vpc3RpYyBjb250ZW50Igp2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IFtkZWZhdWx0TG9jYWxlLCBub3RTdXBwb3J0ZWRdOwoKdmFyIHN1cHBvcnRlZExvY2FsZXM7CgppZiAoIUludGwuQ29sbGF0b3IuaGFzT3duUHJvcGVydHkoJ3N1cHBvcnRlZExvY2FsZXNPZicpKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IgZG9lc24ndCBoYXZlIGEgc3VwcG9ydGVkTG9jYWxlc09mIHByb3BlcnR5LiIpOwp9CgpzdXBwb3J0ZWRMb2NhbGVzID0gSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YocmVxdWVzdGVkTG9jYWxlcyk7CmlmIChzdXBwb3J0ZWRMb2NhbGVzLmxlbmd0aCAhPT0gMSkgewogICAgJEVSUk9SKCdUaGUgbGVuZ3RoIG9mIHN1cHBvcnRlZCBsb2NhbGVzIGxpc3QgaXMgbm90IDEuJyk7Cn0KCmlmIChzdXBwb3J0ZWRMb2NhbGVzWzBdICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAkRVJST1IoJ1RoZSBkZWZhdWx0IGxvY2FsZSBpcyBub3QgcmV0dXJuZWQgaW4gdGhlIHN1cHBvcnRlZCBsaXN0LicpOwp9Cgo=","commentary":"","description":"Tests that Intl.Collator has a supportedLocalesOf\nproperty, and it works as planned.","path":"TestCases/intl402/ch10/10.2/10.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3Iuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YsIHRydWUsIGZhbHNlLCBbXSwgMSk7Cgo=","commentary":"","description":"Tests that Intl.Collator.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.2/10.2.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IgZG9lcyBub3QgYWNjZXB0IFVuaWNvZGUgbG9jYWxlCiAqICAgICBleHRlbnNpb24ga2V5cyBhbmQgdmFsdWVzIHRoYXQgYXJlIG5vdCBhbGxvd2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGRlZmF1bHRDb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKCk7CnZhciBkZWZhdWx0T3B0aW9ucyA9IGRlZmF1bHRDb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKTsKdmFyIGRlZmF1bHRPcHRpb25zSlNPTiA9IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRPcHRpb25zKTsKdmFyIGRlZmF1bHRMb2NhbGUgPSBkZWZhdWx0T3B0aW9ucy5sb2NhbGU7CnZhciBkZWZhdWx0U29ydGVkQXJyYXkgPSBbImhlbGxvIiwgIuS9oOWlvSIsICLjgZPjgpPjgavjgaHjga8iLCAicMOqY2hlIiwgInBlY2jDqSIsICI5IiwgIjEwIl0uc29ydChkZWZhdWx0Q29sbGF0b3IuY29tcGFyZSk7CgoKdmFyIGtleVZhbHVlcyA9IHsKICAgICJjbyI6IFsic3RhbmRhcmQiLCAic2VhcmNoIiwgImludmFsaWQiXSwKICAgICJrYSI6IFsibm9pZ25vcmUiLCAic2hpZnRlZCIsICJpbnZhbGlkIl0sCiAgICAia2IiOiBbInRydWUiLCAiZmFsc2UiLCAiaW52YWxpZCJdLAogICAgImtjIjogWyJ0cnVlIiwgImZhbHNlIiwgImludmFsaWQiXSwKICAgICJraCI6IFsidHJ1ZSIsICJmYWxzZSIsICJpbnZhbGlkIl0sCiAgICAia3IiOiBbImxhdG4taGlyYS1oYW5pIiwgImhhbmktaGlyYS1sYXRuIiwgImludmFsaWQiXSwKICAgICJrcyI6IFsibGV2ZWwxIiwgImxldmVsMiIsICJsZXZlbDMiLCAibGV2ZWw0IiwgImlkZW50aWMiLCAiaW52YWxpZCJdLAogICAgInZ0IjogWyIxMjM0LTU2NzgtOWFiYy1lZGYwIiwgImludmFsaWQiXQp9OwoKdmFyIHRlc3RBcnJheSA9IGRlZmF1bHRTb3J0ZWRBcnJheS5zbGljZSgwKTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGtleVZhbHVlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7CiAgICBrZXlWYWx1ZXNba2V5XS5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBjb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKFtkZWZhdWx0TG9jYWxlICsgIi11LSIgKyBrZXkgKyAiLSIgKyB2YWx1ZV0pOwogICAgICAgIHZhciBvcHRpb25zID0gY29sbGF0b3IucmVzb2x2ZWRPcHRpb25zKCk7CiAgICAgICAgaWYgKG9wdGlvbnMubG9jYWxlICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAgICAgICAgICRFUlJPUigiTG9jYWxlICIgKyBvcHRpb25zLmxvY2FsZSArICIgaXMgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICE9PSBkZWZhdWx0T3B0aW9uc0pTT04pIHsKICAgICAgICAgICAgJEVSUk9SKCJSZXNvbHZlZCBvcHRpb25zICIgKyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSArICIgYXJlIGFmZmVjdGVkIGJ5IGtleSAiICsKICAgICAgICAgICAgICAgIGtleSArICI7IHZhbHVlICIgKyB2YWx1ZSArICIuIik7CiAgICAgICAgfQogICAgICAgIHRlc3RBcnJheXNBcmVTYW1lKGRlZmF1bHRTb3J0ZWRBcnJheSwgdGVzdEFycmF5LnNvcnQoY29sbGF0b3IuY29tcGFyZSkpOwogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that Intl.Collator does not accept Unicode locale\n extension keys and values that are not allowed.","path":"TestCases/intl402/ch10/10.2/10.2.3_b.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogSW50bC5Db2xsYXRvci4KICovCgppZiAoSW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuQ29sbGF0b3IpIHsKICAgICRFUlJPUigiSW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRoZSBzYW1lIGFzICIgKwogICAgICAgICAgICJJbnRsLkNvbGxhdG9yIik7Cn0KCg==","commentary":"","description":"Tests that Intl.Collator.prototype.constructor is the\nIntl.Collator.","path":"TestCases/intl402/ch10/10.3/10.3.1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb21wYXJlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QobmV3IEludGwuQ29sbGF0b3IoKS5jb21wYXJlLCB0cnVlLCBmYWxzZSwgW10sIDIpOwoK","commentary":"","description":"Tests that the function returned by Intl.Collator.prototype.compare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3.2_1_a_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNvbXBhcmUgZnVuY3Rpb24gaXMgYm91bmQgdG8gaXRzIEludGwuQ29sbGF0b3IuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgc3RyaW5ncyA9IFsiZCIsICJPIiwgIm9kIiwgIm9lIiwgIm9mIiwgIsO2IiwgIm9cdTAzMDgiLCAiWCIsICJ5IiwgIloiLCAiWi4iLCAiXHVEODQyXHVERkI36YeO5a62IiwgIuWQiemHjuWutiIsICIhQSIsICJBIiwgImIiLCAiQyJdOwp2YXIgbG9jYWxlcyA9IFt1bmRlZmluZWQsIFsiZGUiXSwgWyJkZS11LWNvLXBob25lYmsiXSwgWyJlbiJdLCBbImphIl0sIFsic3YiXV07CnZhciBvcHRpb25zID0gWwogICAgdW5kZWZpbmVkLAogICAge3VzYWdlOiAic2VhcmNoIn0sCiAgICB7c2Vuc2l0aXZpdHk6ICJiYXNlIiwgaWdub3JlUHVuY3R1YXRpb246IHRydWV9Cl07Cgpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIHZhciBjb2xsYXRvck9iaiA9IG5ldyBJbnRsLkNvbGxhdG9yKGxvY2FsZXMsIG9wdGlvbnMpOwogICAgICAgIHZhciBjb21wYXJlRnVuYyA9IGNvbGxhdG9yT2JqLmNvbXBhcmU7CiAgICAgICAgdmFyIHJlZmVyZW5jZVNvcnRlZCA9IHN0cmluZ3Muc2xpY2UoKTsKICAgICAgICByZWZlcmVuY2VTb3J0ZWQuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gY29sbGF0b3JPYmouY29tcGFyZShhLCBiKTsgfSk7CiAgICAgICAgdmFyIHNvcnRlZCA9IHN0cmluZ3M7CiAgICAgICAgc29ydGVkLnNvcnQoY29tcGFyZUZ1bmMpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHRlc3RBcnJheXNBcmVTYW1lKHJlZmVyZW5jZVNvcnRlZCwgc29ydGVkKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGUubWVzc2FnZSArPSAiIChUZXN0aW5nIHdpdGggbG9jYWxlcyAiICsgbG9jYWxlcyArICI7IG9wdGlvbnMgIiArCiAgICAgICAgICAgICAgICAob3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogb3B0aW9ucykgKyAiLikiOwogICAgICAgICAgICB0aHJvdyBlOwogICAgICAgIH0KICAgIH0pOwp9KTsKCg==","commentary":"","description":"Tests that compare function is bound to its Intl.Collator.","path":"TestCases/intl402/ch10/10.3/10.3.2_1_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTm9yYmVydCBMaW5kZW5iZXJnLiBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogQGRlc2NyaXB0aW9uIFRlc3RzIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybmVkIGJ5IEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUKICogICAgIHJldHVybnMgMCB3aGVuIGNvbXBhcmluZyBTdHJpbmdzIHRoYXQgYXJlIGNvbnNpZGVyZWQgY2Fub25pY2FsbHkgZXF1aXZhbGVudAogKiAgICAgYnkgdGhlIFVuaWNvZGUgc3RhbmRhcmQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoKTsKdmFyIHBhaXJzID0gWwogICAgLy8gZXhhbXBsZSBmcm9tIFVuaWNvZGUgNS4wLCBzZWN0aW9uIDMuNywgZGVmaW5pdGlvbiBENzAKICAgIFsib1x1MDMwOCIsICLDtiJdLAogICAgLy8gZXhhbXBsZXMgZnJvbSBVbmljb2RlIDUuMCwgY2hhcHRlciAzLjExCiAgICBbIsOkXHUwMzIzIiwgImFcdTAzMjNcdTAzMDgiXSwKICAgIFsiYVx1MDMwOFx1MDMyMyIsICJhXHUwMzIzXHUwMzA4Il0sCiAgICBbIuG6oVx1MDMwOCIsICJhXHUwMzIzXHUwMzA4Il0sCiAgICBbIsOkXHUwMzA2IiwgImFcdTAzMDhcdTAzMDYiXSwKICAgIFsixINcdTAzMDgiLCAiYVx1MDMwNlx1MDMwOCJdLAogICAgLy8gZXhhbXBsZSBmcm9tIFVuaWNvZGUgNS4wLCBjaGFwdGVyIDMuMTIKICAgIFsiXHUxMTExXHUxMTcxXHUxMUI2IiwgIu2TmyJdLAogICAgLy8gZXhhbXBsZXMgZnJvbSBVVFMgMTAsIFVuaWNvZGUgQ29sbGF0aW9uIEFsZ29yaXRobQogICAgWyLihKsiLCAiw4UiXSwKICAgIFsi4oSrIiwgIkFcdTAzMEEiXSwKICAgIFsieFx1MDMxQlx1MDMyMyIsICJ4XHUwMzIzXHUwMzFCIl0sCiAgICBbIuG7sSIsICLhu6VcdTAzMUIiXSwKICAgIFsi4buxIiwgInVcdTAzMUJcdTAzMjMiXSwKICAgIFsi4buxIiwgIsawXHUwMzIzIl0sCiAgICBbIuG7sSIsICJ1XHUwMzIzXHUwMzFCIl0sCiAgICAvLyBleGFtcGxlcyBmcm9tIFVBWCAxNSwgVW5pY29kZSBOb3JtYWxpemF0aW9uIEZvcm1zCiAgICBbIsOHIiwgIkNcdTAzMjciXSwKICAgIFsicVx1MDMwN1x1MDMyMyIsICJxXHUwMzIzXHUwMzA3Il0sCiAgICBbIuqwgCIsICJcdTExMDBcdTExNjEiXSwKICAgIFsi4oSrIiwgIkFcdTAzMEEiXSwKICAgIFsi4oSmIiwgIs6pIl0sCiAgICBbIsOFIiwgIkFcdTAzMEEiXSwKICAgIFsiw7QiLCAib1x1MDMwMiJdLAogICAgWyLhuakiLCAic1x1MDMyM1x1MDMwNyJdLAogICAgWyLhuItcdTAzMjMiLCAiZFx1MDMyM1x1MDMwNyJdLAogICAgWyLhuItcdTAzMjMiLCAi4biNXHUwMzA3Il0sCiAgICBbInFcdTAzMDdcdTAzMjMiLCAicVx1MDMyM1x1MDMwNyJdLAogICAgLy8gZXhhbXBsZXMgaW52b2x2aW5nIHN1cHBsZW1lbnRhcnkgY2hhcmFjdGVycyBmcm9tIFVDRCBOb3JtYWxpemF0aW9uVGVzdC50eHQKICAgIFsiXHVEODM0XHVERDVFIiwgIlx1RDgzNFx1REQ1N1x1RDgzNFx1REQ2NSJdLAogICAgWyJcdUQ4N0VcdURDMkIiLCAi5YyXIl0KICAgIApdOwp2YXIgaTsKZm9yIChpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7CiAgICB2YXIgcGFpciA9IHBhaXJzW2ldOwogICAgaWYgKGNvbGxhdG9yLmNvbXBhcmUocGFpclswXSwgcGFpclsxXSkgIT09IDApIHsKICAgICAgICAkRVJST1IoIkNvbGxhdG9yLmNvbXBhcmUgY29uc2lkZXJzICIgKyBwYWlyWzBdICsgIiDiiaAgIiArIHBhaXJbMV0gKyAiLiIpOwogICAgfQp9Cgo=","commentary":"","description":"Tests that the function returned by Intl.Collator.prototype.compare\n returns 0 when comparing Strings that are considered canonically equivalent\n by the Unicode standard.","path":"TestCases/intl402/ch10/10.3/10.3.2_CS_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBjb21wYXJlIGZ1bmN0aW9uIGlzbid0IGVudGlyZWx5IHVucmVhc29uYWJsZS4KICogICAgIFRoaXMgdGVzdCBpcyBub3Qgbm9ybWF0aXZlLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKLy8gdGhpcyB0ZXN0IHNob3VsZCBiZSB2YWxpZCBhdCBsZWFzdCBmb3IgdGhlIGZvbGxvd2luZyBsb2NhbGVzCnZhciBsb2NhbGVzID0gWyJkZSIsICJlbiIsICJlcyIsICJmciIsICJpdCJdOwpsb2NhbGVzID0gSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YobG9jYWxlcywge2xvY2FsZU1hdGNoZXI6ICJsb29rdXAifSk7CmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICB2YXIgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihbbG9jYWxlXSwge3NlbnNpdGl2aXR5OiAidmFyaWFudCIsIGxvY2FsZU1hdGNoZXI6ICJsb29rdXAifSk7CiAgICB2YXIgYSA9IFsiTCIsICJYIiwgIkMiLCAiayIsICJaIiwgIkgiLCAiZCIsICJtIiwgInciLCAiQSIsICJpIiwgImYiLCAieSIsICJFIiwgIk4iLCAiViIsICJnIiwgIkoiLCAiYiJdOwogICAgYS5zb3J0KGNvbGxhdG9yLmNvbXBhcmUpOwogICAgdmFyIGV4cGVjdGVkID0gWyJBIiwgImIiLCAiQyIsICJkIiwgIkUiLCAiZiIsICJnIiwgIkgiLCAiaSIsICJKIiwgImsiLCAiTCIsICJtIiwgIk4iLCAiViIsICJ3IiwgIlgiLCAieSIsICJaIl07CiAgICB0ZXN0QXJyYXlzQXJlU2FtZShleHBlY3RlZCwgYSk7Cn0pOwoK","commentary":"","description":"Tests that the compare function isn't entirely unreasonable.\n This test is not normative.","path":"TestCases/intl402/ch10/10.3/10.3.2_CS_b_NN.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgY29tcGFyZSBmdW5jdGlvbiBzdXBwb3J0cyBwaG9uZWJvb2sgc29ydGluZyBpZiBpdCBzYXlzIGl0IGRvZXMuCiAqICAgICBUaGlzIHRlc3QgaXMgbm90IG5vcm1hdGl2ZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoaXMgdGVzdCBzaG91bGQgYmUgdmFsaWQgYXQgbGVhc3QgZm9yIHRoZSBmb2xsb3dpbmcgbG9jYWxlcwp2YXIgbG9jYWxlcyA9IFsiZGUtREUtdS1jby1waG9uZWJrIiwgImRlLXUtY28tcGhvbmViayJdOwp2YXIgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihsb2NhbGVzLCB7bG9jYWxlTWF0Y2hlcjogImxvb2t1cCJ9KTsKaWYgKGxvY2FsZXMuaW5kZXhPZihjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGUpICE9PSAtMSkgewogICAgdmFyIGEgPSBbIkEiLCAiYiIsICJBZiIsICJBYiIsICJvZCIsICJvZmYiLCAiw4QiLCAiw7YiXTsKICAgIGEuc29ydChjb2xsYXRvci5jb21wYXJlKTsKICAgIHZhciBleHBlY3RlZCA9IFsiQSIsICJBYiIsICLDhCIsICJBZiIsICJiIiwgIm9kIiwgIsO2IiwgIm9mZiJdOwogICAgdGVzdEFycmF5c0FyZVNhbWUoZXhwZWN0ZWQsIGEpOwp9Cgo=","commentary":"","description":"Tests that the compare function supports phonebook sorting if it says it does.\n This test is not normative.","path":"TestCases/intl402/ch10/10.3/10.3.2_CS_c_NN.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgY29tcGFyZSBmdW5jdGlvbiBzdXBwb3J0cyBkaWZmZXJlbnQgc2Vuc2l0aXZpdHkgc2V0dGluZ3MuCiAqICAgICBUaGlzIHRlc3QgaXMgbm90IG5vcm1hdGl2ZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoaXMgdGVzdCBzaG91bGQgYmUgdmFsaWQgYXQgbGVhc3QgZm9yIHRoZSBmb2xsb3dpbmcgbG9jYWxlcwp2YXIgbG9jYWxlcyA9IFsiZGUiLCAiZW4iLCAiZXMiLCAiaXQiXTsKbG9jYWxlcyA9IEludGwuQ29sbGF0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKGxvY2FsZXMsIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgdmFyIHRhcmdldCA9ICJBYSI7CiAgICB2YXIgaW5wdXQgPSBbIkFhIiwgImJBIiwgIkUiLCAiYiIsICJhQSIsICJmQyIsICLDocOBIiwgIkHDoyJdOwogICAgdmFyIGV4cGVjdGVkID0gewogICAgICAgICJiYXNlIjogWyJBYSIsICJhQSIsICLDocOBIiwgIkHDoyJdLAogICAgICAgICJhY2NlbnQiOiBbIkFhIiwgImFBIl0sCiAgICAgICAgImNhc2UiOiBbIkFhIiwgIkHDoyJdLAogICAgICAgICJ2YXJpYW50IjogWyJBYSJdCiAgICB9OwogICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZXhwZWN0ZWQpLmZvckVhY2goZnVuY3Rpb24gKHNlbnNpdGl2aXR5KSB7CiAgICAgICAgdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoW2xvY2FsZV0sIHt1c2FnZTogInNlYXJjaCIsCiAgICAgICAgICAgICAgICBzZW5zaXRpdml0eTogc2Vuc2l0aXZpdHksIGxvY2FsZU1hdGNoZXI6ICJsb29rdXAifSk7CiAgICAgICAgdmFyIG1hdGNoZXMgPSBpbnB1dC5maWx0ZXIoZnVuY3Rpb24gKHYpIHsKICAgICAgICAgICAgcmV0dXJuIGNvbGxhdG9yLmNvbXBhcmUodiwgdGFyZ2V0KSA9PT0gMDsKICAgICAgICB9KTsKICAgICAgICB0ZXN0QXJyYXlzQXJlU2FtZShleHBlY3RlZFtzZW5zaXRpdml0eV0sIG1hdGNoZXMpOwogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that the compare function supports different sensitivity settings.\n This test is not normative.","path":"TestCases/intl402/ch10/10.3/10.3.2_CS_d_NN.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuQ29sbGF0b3IucHJvdG90eXBlLCAiY29tcGFyZSIpLmdldCAsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=","commentary":"","description":"Tests that the getter for Intl.Collator.prototype.compare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgSW50bC5Db2xsYXRvci5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zCiAqICAgICBoYXMgdGhlIHJpZ2h0IHByb3BlcnRpZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgYWN0dWFsID0gbmV3IEludGwuQ29sbGF0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKTsKCnZhciBhY3R1YWwyID0gbmV3IEludGwuQ29sbGF0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKTsKaWYgKGFjdHVhbDIgPT09IGFjdHVhbCkgewogICAgJEVSUk9SKCJyZXNvbHZlZE9wdGlvbnMgcmV0dXJuZWQgdGhlIHNhbWUgb2JqZWN0IHR3aWNlLiIpOwp9CgovLyBzb3VyY2U6IENMRFIgZmlsZSBjb21tb24vYmNwNDcvY29sbGF0aW9uLnhtbDsgdmVyc2lvbiBDTERSIDIxLgp2YXIgY29sbGF0aW9ucyA9IFsKICAgICJkZWZhdWx0IiwgLy8gYWRkZWQKICAgICJiaWc1aGFuIiwgCiAgICAiZGljdCIsCiAgICAiZGlyZWN0IiwKICAgICJkdWNldCIsCiAgICAiZ2IyMzEyIiwKICAgICJwaG9uZWJrIiwKICAgICJwaG9uZXRpYyIsCiAgICAicGlueWluIiwKICAgICJyZWZvcm1lZCIsCiAgICAvLyAic2VhcmNoIiwgLy8gZXhjbHVkZWQKICAgICJzZWFyY2hqbCIsCiAgICAvLyAic3RhbmRhcmQiLCAvLyBleGNsdWRlZAogICAgInN0cm9rZSIsCiAgICAidHJhZCIsCiAgICAidW5paGFuIgpdOwoKLy8gdGhpcyBhc3N1bWVzIHRoZSBkZWZhdWx0IHZhbHVlcyB3aGVyZSB0aGUgc3BlY2lmaWNhdGlvbiBwcm92aWRlcyB0aGVtCm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAibG9jYWxlIiwgaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAidXNhZ2UiLCBbInNvcnQiXSk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAic2Vuc2l0aXZpdHkiLCBbInZhcmlhbnQiXSk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiaWdub3JlUHVuY3R1YXRpb24iLCBbZmFsc2VdKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJjb2xsYXRpb24iLCBjb2xsYXRpb25zKTsKbWF5SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm51bWVyaWMiLCBbdHJ1ZSwgZmFsc2VdKTsKbWF5SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm5vcm1hbGl6YXRpb24iLCBbdHJ1ZSwgZmFsc2VdKTsKbWF5SGF2ZVByb3BlcnR5KGFjdHVhbCwgImNhc2VGaXJzdCIsIFsidXBwZXIiLCAibG93ZXIiLCAiZmFsc2UiXSk7Cgo=","commentary":"","description":"Tests that the object returned by Intl.Collator.prototype.resolvedOptions\n has the right properties.","path":"TestCases/intl402/ch10/10.3/10.3.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.Collator.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3.3_L15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSBpcyBhbiBvYmplY3QgdGhhdAogKiBoYXMgYmVlbiBpbml0aWFsaXplZCBhcyBhbiBJbnRsLkNvbGxhdG9yLgogKi8KCi8vIHRlc3QgYnkgY2FsbGluZyBhIGZ1bmN0aW9uIHRoYXQgd291bGQgZmFpbCBpZiAidGhpcyIgd2VyZSBub3QgYW4gb2JqZWN0Ci8vIGluaXRpYWxpemVkIGFzIGFuIEludGwuQ29sbGF0b3IKaWYgKEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUoImHQsOOBguyVhCIsICJh0LDjgYLslYQiKSAhPT0gMCkgewogICAgJEVSUk9SKCJJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSBpcyBub3QgYW4gb2JqZWN0IHRoYXQgaGFzIGJlZW4gIiArCiAgICAgICAgImluaXRpYWxpemVkIGFzIGFuIEludGwuQ29sbGF0b3IuIik7Cn0KCg==","commentary":"","description":"Tests that Intl.Collator.prototype is an object that\nhas been initialized as an Intl.Collator.","path":"TestCases/intl402/ch10/10.3/10.3_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlIGZ1bmN0aW9ucyB0aHJvdyBhCiAqICAgICBUeXBlRXJyb3IgaWYgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCB2YWx1ZSBvciBhbiBvYmplY3QgdGhhdCBoYXNuJ3QgYmVlbgogKiAgICAgaW5pdGlhbGl6ZWQgYXMgYSBDb2xsYXRvci4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZnVuY3Rpb25zID0gewogICAgImNvbXBhcmUgZ2V0dGVyIjogT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgImNvbXBhcmUiKS5nZXQsCiAgICByZXNvbHZlZE9wdGlvbnM6IEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwp9Owp2YXIgaW52YWxpZFRhcmdldHMgPSBbdW5kZWZpbmVkLCBudWxsLCB0cnVlLCAwLCAiQ29sbGF0b3IiLCBbXSwge31dOwoKT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZnVuY3Rpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChmdW5jdGlvbk5hbWUpIHsKICAgIHZhciBmID0gZnVuY3Rpb25zW2Z1bmN0aW9uTmFtZV07CiAgICBpbnZhbGlkVGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uICh0YXJnZXQpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgZi5jYWxsKHRhcmdldCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2FsbGluZyAiICsgZnVuY3Rpb25OYW1lICsgIiBvbiAiICsgdGFyZ2V0ICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJDYWxsaW5nICIgKyBmdW5jdGlvbk5hbWUgKyAiIG9uICIgKyB0YXJnZXQgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that Intl.Collator.prototype functions throw a\n TypeError if called on a non-object value or an object that hasn't been\n initialized as a Collator.","path":"TestCases/intl402/ch10/10.3/10.3_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsIGZhbHNlLCBmYWxzZSwgWyJjb25zdHJ1Y3RvciIsICJjb21wYXJlIiwgInJlc29sdmVkT3B0aW9ucyJdKTsKCg==","commentary":"","description":"Tests that Intl.Collator.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch10/10.3/10.3_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IgaW5zdGFuY2VzIGhhdmUgdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBvYmogPSBuZXcgSW50bC5Db2xsYXRvcigpOwoKdmFyIHRvU3RyaW5nVmFsdWUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsKaWYgKHRvU3RyaW5nVmFsdWUgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IgaW5zdGFuY2UgcHJvZHVjZXMgd3JvbmcgW1tDbGFzc11dIC0gdG9TdHJpbmcgcmV0dXJucyAiICsgdG9TdHJpbmdWYWx1ZSArICIuIik7Cn0KCg==","commentary":"","description":"Tests that Intl.Collator instances have the specified properties.","path":"TestCases/intl402/ch10/10.4/10.4_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFuIG9iamVjdCBjYW4ndCBiZSByZS1pbml0aWFsaXplZCBhcyBhIE51bWJlckZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBvYmosIGVycm9yOwogICAgCiAgICAvLyB2YXJpYW50IDE6IHVzZSBjb25zdHJ1Y3RvciBpbiBhICJuZXciIGV4cHJlc3Npb24KICAgIG9iaiA9IG5ldyBDb25zdHJ1Y3RvcigpOwogICAgdHJ5IHsKICAgICAgICBJbnRsLk51bWJlckZvcm1hdC5jYWxsKG9iaik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlJlLWluaXRpYWxpemluZyBvYmplY3QgY3JlYXRlZCB3aXRoIFwibmV3XCIgYXMgTnVtYmVyRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIE51bWJlckZvcm1hdCB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9CiAgICAKICAgIC8vIHZhcmlhbnQgMjogdXNlIGNvbnN0cnVjdG9yIGFzIGEgZnVuY3Rpb24KICAgIG9iaiA9IENvbnN0cnVjdG9yLmNhbGwoe30pOwogICAgZXJyb3IgPSB1bmRlZmluZWQ7CiAgICB0cnkgewogICAgICAgIEludGwuTnVtYmVyRm9ybWF0LmNhbGwob2JqKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBlcnJvciA9IGU7CiAgICB9CiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICRFUlJPUigiUmUtaW5pdGlhbGl6aW5nIG9iamVjdCBjcmVhdGVkIHdpdGggY29uc3RydWN0b3IgYXMgZnVuY3Rpb24gYXMgTnVtYmVyRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBjb25zdHJ1Y3RvciBhcyBmdW5jdGlvbiBhcyBOdW1iZXJGb3JtYXQgd2FzIHJlamVjdGVkIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgfQogICAgCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=","commentary":"","description":"Tests that an object can't be re-initialized as a NumberFormat.","path":"TestCases/intl402/ch11/11.1/11.1.1_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gc3R5bGUgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RPcHRpb24oSW50bC5OdW1iZXJGb3JtYXQsICJzdHlsZSIsICJzdHJpbmciLCBbImRlY2ltYWwiLCAicGVyY2VudCIsICJjdXJyZW5jeSJdLCAiZGVjaW1hbCIsCiAgICAgICAge2V4dHJhOiB7ImN1cnJlbmN5Ijoge2N1cnJlbmN5OiAiQ05ZIn19fSk7Cgo=","commentary":"","description":"Tests that the option style is processed correctly.","path":"TestCases/intl402/ch11/11.1/11.1.1_15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gY3VycmVuY3kgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgdmFsaWRWYWx1ZXMgPSBbIkNOWSIsICJVU0QiLCAiRVVSIiwgIklEUiIsICJqcHkiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIklOUiI7fX1dOwp2YXIgaW52YWxpZFZhbHVlcyA9IFsiJCIsICJTRnIuIiwgIlVTJCIsICLDn1AiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHtyZXR1cm47fX1dOwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7Cgp2YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgdmFyIGZvcm1hdCwgYWN0dWFsLCBleHBlY3RlZDsKCiAgICAvLyB3aXRoIGN1cnJlbmN5IHN0eWxlLCB3ZSBzaG91bGQgZ2V0IHRoZSB1cHBlciBjYXNlIGZvcm0gYmFjawogICAgZm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtkZWZhdWx0TG9jYWxlXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogdmFsdWV9KTsKICAgIGFjdHVhbCA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeTsKICAgIGV4cGVjdGVkID0gdmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpOwogICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKICAgICAgICAkRVJST1IoIkluY29ycmVjdCByZXNvbHZlZCBjdXJyZW5jeSB3aXRoIGN1cnJlbmN5IHN0eWxlIC0gZXhwZWN0ZWQgIiArCiAgICAgICAgICAgIGV4cGVjdGVkICsgIjsgZ290ICIgKyBhY3R1YWwgKyAiLiIpOwogICAgfQogICAgCiAgICAvLyB3aXRob3V0IGN1cnJlbmN5IHN0eWxlLCB3ZSBzaG91bGRuJ3QgZ2V0IGFueSBjdXJyZW5jeSBiYWNrCiAgICBmb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2RlZmF1bHRMb2NhbGVdLCB7Y3VycmVuY3k6IHZhbHVlfSk7CiAgICBhY3R1YWwgPSBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkuY3VycmVuY3k7CiAgICBleHBlY3RlZCA9IHVuZGVmaW5lZDsKICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CiAgICAgICAgJEVSUk9SKCJJbmNvcnJlY3QgcmVzb2x2ZWQgY3VycmVuY3kgd2l0aCBub24tY3VycmVuY3kgc3R5bGUgLSBleHBlY3RlZCAiICsKICAgICAgICAgICAgZXhwZWN0ZWQgKyAiOyBnb3QgIiArIGFjdHVhbCArICIuIik7CiAgICB9CiAgICAKICAgIC8vIGN1cnJlbmNpZXMgc3BlY2lmaWVkIHRocm91Z2ggdGhlIGxvY2FsZSBtdXN0IGJlIGlnbm9yZWQKICAgIGZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogdmFsdWV9KTsKICAgIGFjdHVhbCA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeTsKICAgIGV4cGVjdGVkID0gdmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpOwogICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKICAgICAgICAkRVJST1IoIkluY29ycmVjdCByZXNvbHZlZCBjdXJyZW5jeSB3aXRoIC11LWN1LSBhbmQgY3VycmVuY3kgc3R5bGUgLSBleHBlY3RlZCAiICsKICAgICAgICAgICAgZXhwZWN0ZWQgKyAiOyBnb3QgIiArIGFjdHVhbCArICIuIik7CiAgICB9CiAgICAKICAgIGZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge2N1cnJlbmN5OiB2YWx1ZX0pOwogICAgYWN0dWFsID0gZm9ybWF0LnJlc29sdmVkT3B0aW9ucygpLmN1cnJlbmN5OwogICAgZXhwZWN0ZWQgPSB1bmRlZmluZWQ7CiAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewogICAgICAgICRFUlJPUigiSW5jb3JyZWN0IHJlc29sdmVkIGN1cnJlbmN5IHdpdGggLXUtY3UtIGFuZCBub24tY3VycmVuY3kgc3R5bGUgLSBleHBlY3RlZCAiICsKICAgICAgICAgICAgZXhwZWN0ZWQgKyAiOyBnb3QgIiArIGFjdHVhbCArICIuIik7CiAgICB9Cn0pOwoKaW52YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgZnVuY3Rpb24gZXhwZWN0RXJyb3IoZikgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICBmKCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBjdXJyZW5jeSB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICAgICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSAiUmFuZ2VFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGN1cnJlbmN5IHZhbHVlICIgKyB2YWx1ZSArICIgd2FzIHJlamVjdGVkIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgICAgIH0KICAgIH0KCiAgICBleHBlY3RFcnJvcihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2RlZmF1bHRMb2NhbGVdLCB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiB2YWx1ZX0pOwogICAgfSk7CiAgICBleHBlY3RFcnJvcihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2RlZmF1bHRMb2NhbGVdLCB7Y3VycmVuY3k6IHZhbHVlfSk7CiAgICB9KTsKICAgIGV4cGVjdEVycm9yKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogdmFsdWV9KTsKICAgIH0pOwogICAgZXhwZWN0RXJyb3IoZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtkZWZhdWx0TG9jYWxlICsgIi11LWN1LWtydyJdLCB7Y3VycmVuY3k6IHZhbHVlfSk7CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that the option currency is processed correctly.","path":"TestCases/intl402/ch11/11.1/11.1.1_17.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBjdXJyZW5jeSBzdHlsZSBjYW4gbm90IGJlIHVzZWQgd2l0aG91dCBhIHNwZWNpZmllZCBjdXJyZW5jeS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKCmZ1bmN0aW9uIGV4cGVjdEVycm9yKGYpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgZigpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGN1cnJlbmN5IHZhbHVlICIgKyB2YWx1ZSArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAkRVJST1IoIkludmFsaWQgY3VycmVuY3kgdmFsdWUgIiArIHZhbHVlICsgIiB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0KCmV4cGVjdEVycm9yKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtkZWZhdWx0TG9jYWxlXSwge3N0eWxlOiAiY3VycmVuY3kifSk7Cn0pOwpleHBlY3RFcnJvcihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge3N0eWxlOiAiY3VycmVuY3kifSk7Cn0pOwoK","commentary":"","description":"Tests that the currency style can not be used without a specified currency.","path":"TestCases/intl402/ch11/11.1/11.1.1_19.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgbnVtYmVyIG9mIGZyYWN0aW9uYWwgZGlnaXRzIGlzIGRldGVybWluZWQgY29ycmVjdGx5IGZvciBjdXJyZW5jaWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCi8vIGRhdGEgZnJvbSBodHRwOi8vd3d3LmN1cnJlbmN5LWlzby5vcmcvZGxfaXNvX3RhYmxlX2ExLnhtbCwgMjAxMi0wOC0xMAp2YXIgY3VycmVuY3lEaWdpdHMgPSB7CiAgICBBRUQ6IDIsCiAgICBBRk46IDIsCiAgICBBTEw6IDIsCiAgICBBTUQ6IDIsCiAgICBBTkc6IDIsCiAgICBBT0E6IDIsCiAgICBBUlM6IDIsCiAgICBBVUQ6IDIsCiAgICBBV0c6IDIsCiAgICBBWk46IDIsCiAgICBCQU06IDIsCiAgICBCQkQ6IDIsCiAgICBCRFQ6IDIsCiAgICBCR046IDIsCiAgICBCSEQ6IDMsCiAgICBCSUY6IDAsCiAgICBCTUQ6IDIsCiAgICBCTkQ6IDIsCiAgICBCT0I6IDIsCiAgICBCT1Y6IDIsCiAgICBCUkw6IDIsCiAgICBCU0Q6IDIsCiAgICBCVE46IDIsCiAgICBCV1A6IDIsCiAgICBCWVI6IDAsCiAgICBCWkQ6IDIsCiAgICBDQUQ6IDIsCiAgICBDREY6IDIsCiAgICBDSEU6IDIsCiAgICBDSEY6IDIsCiAgICBDSFc6IDIsCiAgICBDTEY6IDAsCiAgICBDTFA6IDAsCiAgICBDTlk6IDIsCiAgICBDT1A6IDIsCiAgICBDT1U6IDIsCiAgICBDUkM6IDIsCiAgICBDVUM6IDIsCiAgICBDVVA6IDIsCiAgICBDVkU6IDIsCiAgICBDWks6IDIsCiAgICBESkY6IDAsCiAgICBES0s6IDIsCiAgICBET1A6IDIsCiAgICBEWkQ6IDIsCiAgICBFR1A6IDIsCiAgICBFUk46IDIsCiAgICBFVEI6IDIsCiAgICBFVVI6IDIsCiAgICBGSkQ6IDIsCiAgICBGS1A6IDIsCiAgICBHQlA6IDIsCiAgICBHRUw6IDIsCiAgICBHSFM6IDIsCiAgICBHSVA6IDIsCiAgICBHTUQ6IDIsCiAgICBHTkY6IDAsCiAgICBHVFE6IDIsCiAgICBHWUQ6IDIsCiAgICBIS0Q6IDIsCiAgICBITkw6IDIsCiAgICBIUks6IDIsCiAgICBIVEc6IDIsCiAgICBIVUY6IDIsCiAgICBJRFI6IDIsCiAgICBJTFM6IDIsCiAgICBJTlI6IDIsCiAgICBJUUQ6IDMsCiAgICBJUlI6IDIsCiAgICBJU0s6IDAsCiAgICBKTUQ6IDIsCiAgICBKT0Q6IDMsCiAgICBKUFk6IDAsCiAgICBLRVM6IDIsCiAgICBLR1M6IDIsCiAgICBLSFI6IDIsCiAgICBLTUY6IDAsCiAgICBLUFc6IDIsCiAgICBLUlc6IDAsCiAgICBLV0Q6IDMsCiAgICBLWUQ6IDIsCiAgICBLWlQ6IDIsCiAgICBMQUs6IDIsCiAgICBMQlA6IDIsCiAgICBMS1I6IDIsCiAgICBMUkQ6IDIsCiAgICBMU0w6IDIsCiAgICBMVEw6IDIsCiAgICBMVkw6IDIsCiAgICBMWUQ6IDMsCiAgICBNQUQ6IDIsCiAgICBNREw6IDIsCiAgICBNR0E6IDIsCiAgICBNS0Q6IDIsCiAgICBNTUs6IDIsCiAgICBNTlQ6IDIsCiAgICBNT1A6IDIsCiAgICBNUk86IDIsCiAgICBNVVI6IDIsCiAgICBNVlI6IDIsCiAgICBNV0s6IDIsCiAgICBNWE46IDIsCiAgICBNWFY6IDIsCiAgICBNWVI6IDIsCiAgICBNWk46IDIsCiAgICBOQUQ6IDIsCiAgICBOR046IDIsCiAgICBOSU86IDIsCiAgICBOT0s6IDIsCiAgICBOUFI6IDIsCiAgICBOWkQ6IDIsCiAgICBPTVI6IDMsCiAgICBQQUI6IDIsCiAgICBQRU46IDIsCiAgICBQR0s6IDIsCiAgICBQSFA6IDIsCiAgICBQS1I6IDIsCiAgICBQTE46IDIsCiAgICBQWUc6IDAsCiAgICBRQVI6IDIsCiAgICBST046IDIsCiAgICBSU0Q6IDIsCiAgICBSVUI6IDIsCiAgICBSV0Y6IDAsCiAgICBTQVI6IDIsCiAgICBTQkQ6IDIsCiAgICBTQ1I6IDIsCiAgICBTREc6IDIsCiAgICBTRUs6IDIsCiAgICBTR0Q6IDIsCiAgICBTSFA6IDIsCiAgICBTTEw6IDIsCiAgICBTT1M6IDIsCiAgICBTUkQ6IDIsCiAgICBTU1A6IDIsCiAgICBTVEQ6IDIsCiAgICBTVkM6IDIsCiAgICBTWVA6IDIsCiAgICBTWkw6IDIsCiAgICBUSEI6IDIsCiAgICBUSlM6IDIsCiAgICBUTVQ6IDIsCiAgICBUTkQ6IDMsCiAgICBUT1A6IDIsCiAgICBUUlk6IDIsCiAgICBUVEQ6IDIsCiAgICBUV0Q6IDIsCiAgICBUWlM6IDIsCiAgICBVQUg6IDIsCiAgICBVR1g6IDIsCiAgICBVU0Q6IDIsCiAgICBVU046IDIsCiAgICBVU1M6IDIsCiAgICBVWUk6IDAsCiAgICBVWVU6IDIsCiAgICBVWlM6IDIsCiAgICBWRUY6IDIsCiAgICBWTkQ6IDAsCiAgICBWVVY6IDAsCiAgICBXU1Q6IDIsCiAgICBYQUY6IDAsCiAgICBYQ0Q6IDIsCiAgICBYT0Y6IDAsCiAgICBYUEY6IDAsCiAgICBZRVI6IDIsCiAgICBaQVI6IDIsCiAgICBaTUs6IDIsCiAgICBaV0w6IDIKfTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGN1cnJlbmN5RGlnaXRzKS5mb3JFYWNoKGZ1bmN0aW9uIChjdXJyZW5jeSkgewogICAgdmFyIGRpZ2l0cyA9IGN1cnJlbmN5RGlnaXRzW2N1cnJlbmN5XTsKICAgIGZvcm1hdCA9IEludGwuTnVtYmVyRm9ybWF0KFtdLCB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiBjdXJyZW5jeX0pOwogICAgdmFyIG1pbiA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5taW5pbXVtRnJhY3Rpb25EaWdpdHM7CiAgICB2YXIgbWF4ID0gZm9ybWF0LnJlc29sdmVkT3B0aW9ucygpLm1heGltdW1GcmFjdGlvbkRpZ2l0czsKICAgIGlmIChtaW4gIT09IGRpZ2l0cykgewogICAgICAgICRFUlJPUigiRGlkbid0IGdldCBjb3JyZWN0IG1pbmltdW1GcmFjdGlvbkRpZ2l0cyBmb3IgY3VycmVuY3kgIiArCiAgICAgICAgICAgIGN1cnJlbmN5ICsgIjsgZXhwZWN0ZWQgIiArIGRpZ2l0cyArICIsIGdvdCAiICsgbWluICsgIi4iKTsKICAgIH0KICAgIGlmIChtYXggIT09IGRpZ2l0cykgewogICAgICAgICRFUlJPUigiRGlkbid0IGdldCBjb3JyZWN0IG1heGltdW1GcmFjdGlvbkRpZ2l0cyBmb3IgY3VycmVuY3kgIiArCiAgICAgICAgICAgIGN1cnJlbmN5ICsgIjsgZXhwZWN0ZWQgIiArIGRpZ2l0cyArICIsIGdvdCAiICsgbWF4ICsgIi4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that the number of fractional digits is determined correctly for currencies.","path":"TestCases/intl402/ch11/11.1/11.1.1_20_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gY3VycmVuY3lEaXNwbGF5IGlzIHByb2Nlc3NlZCBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0T3B0aW9uKEludGwuTnVtYmVyRm9ybWF0LCAiY3VycmVuY3lEaXNwbGF5IiwgInN0cmluZyIsIFsiY29kZSIsICJzeW1ib2wiLCAibmFtZSJdLAogICAgInN5bWJvbCIsIHtleHRyYToge2FueToge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIlhEUiJ9fX0pOwp0ZXN0T3B0aW9uKEludGwuTnVtYmVyRm9ybWF0LCAiY3VycmVuY3lEaXNwbGF5IiwgInN0cmluZyIsIFsiY29kZSIsICJzeW1ib2wiLCAibmFtZSJdLAogICAgdW5kZWZpbmVkLCB7bm9SZXR1cm46IHRydWV9KTsKCg==","commentary":"","description":"Tests that the option currencyDisplay is processed correctly.","path":"TestCases/intl402/ch11/11.1/11.1.1_21.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gdXNlR3JvdXBpbmcgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RPcHRpb24oSW50bC5OdW1iZXJGb3JtYXQsICJ1c2VHcm91cGluZyIsICJib29sZWFuIiwgdW5kZWZpbmVkLCB0cnVlKTsKCg==","commentary":"","description":"Tests that the option useGrouping is processed correctly.","path":"TestCases/intl402/ch11/11.1/11.1.1_34.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZU1hdGNoZXIiXSk7Cgp2YXIgbG9jYWxlID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KHVuZGVmaW5lZCwge2xvY2FsZU1hdGNoZXI6ICJsb29rdXAifSkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwppZiAoIWlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcobG9jYWxlKSkgewogICAgJEVSUk9SKCJOdW1iZXJGb3JtYXQgcmV0dXJucyBpbnZhbGlkIGxvY2FsZSAiICsgbG9jYWxlICsgIi4iKTsKfQoK","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch11/11.1/11.1.1_6.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLk51bWJlckZvcm1hdCwgImxvY2FsZU1hdGNoZXIiLCAic3RyaW5nIiwgWyJsb29rdXAiLCAiYmVzdCBmaXQiXSwgImJlc3QgZml0Iiwge25vUmV0dXJuOiB0cnVlfSk7Cgo=","commentary":"","description":"Tests that the option localeMatcher is processed correctly.","path":"TestCases/intl402/ch11/11.1/11.1.1_7.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdCBjYW4gYmUgc3ViY2xhc3NlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIGdldCBhIG51bWJlciBmb3JtYXQgYW5kIGhhdmUgaXQgZm9ybWF0IGFuIGFycmF5IG9mIG51bWJlcnMgZm9yIGNvbXBhcmlzb24gd2l0aCB0aGUgc3ViY2xhc3MKdmFyIGxvY2FsZXMgPSBbInRsaCIsICJpZCIsICJlbiJdOwp2YXIgYSA9IFswLCAxLCAtMSwgLTEyMzQ1Ni43ODksIC1JbmZpbml0eSwgTmFOXTsKdmFyIHJlZmVyZW5jZU51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGVzKTsKdmFyIHJlZmVyZW5jZUZvcm1hdHRlZCA9IGEubWFwKHJlZmVyZW5jZU51bWJlckZvcm1hdC5mb3JtYXQpOwoKZnVuY3Rpb24gTXlOdW1iZXJGb3JtYXQobG9jYWxlcywgb3B0aW9ucykgewogICAgSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBsb2NhbGVzLCBvcHRpb25zKTsKICAgIC8vIGNvdWxkIGluaXRpYWxpemUgTXlOdW1iZXJGb3JtYXQgcHJvcGVydGllcwp9CgpNeU51bWJlckZvcm1hdC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSk7Ck15TnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE15TnVtYmVyRm9ybWF0OwovLyBjb3VsZCBhZGQgbWV0aG9kcyB0byBNeU51bWJlckZvcm1hdC5wcm90b3R5cGUKCnZhciBmb3JtYXQgPSBuZXcgTXlOdW1iZXJGb3JtYXQobG9jYWxlcyk7CnZhciBhY3R1YWwgPSBhLm1hcChmb3JtYXQuZm9ybWF0KTsKdGVzdEFycmF5c0FyZVNhbWUocmVmZXJlbmNlRm9ybWF0dGVkLCBhY3R1YWwpOwoK","commentary":"","description":"Tests that Intl.NumberFormat can be subclassed.","path":"TestCases/intl402/ch11/11.1/11.1.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG9iamVjdHMgY29uc3RydWN0ZWQgYnkgSW50bC5OdW1iZXJGb3JtYXQgaGF2ZSB0aGUgc3BlY2lmaWVkIGludGVybmFsIHByb3BlcnRpZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIG9iaiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwoKdmFyIGFjdHVhbFByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopOwppZiAoYWN0dWFsUHJvdG90eXBlICE9PSBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUpIHsKICAgICRFUlJPUigiUHJvdG90eXBlIG9mIG9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLk51bWJlckZvcm1hdCBpc24ndCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGU7IGdvdCAiICsgYWN0dWFsUHJvdG90eXBlKTsKfQoKaWYgKCFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpIHsKICAgICRFUlJPUigiT2JqZWN0IGNvbnN0cnVjdGVkIGJ5IEludGwuTnVtYmVyRm9ybWF0IG11c3QgYmUgZXh0ZW5zaWJsZS4iKTsKfQoK","commentary":"","description":"Tests that objects constructed by Intl.NumberFormat have the specified internal properties.","path":"TestCases/intl402/ch11/11.1/11.1.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0CiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5OdW1iZXJGb3JtYXQsIHRydWUsIHRydWUsIFsic3VwcG9ydGVkTG9jYWxlc09mIl0sIDApOwoK","commentary":"","description":"Tests that Intl.NumberFormat\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.1/11.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBoYXMgdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LCAicHJvdG90eXBlIik7CmlmIChkZXNjID09PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUigiSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkLiIpOwp9CmlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBtdXN0IG5vdCBiZSB3cml0YWJsZS4iKTsKfQppZiAoZGVzYy5lbnVtZXJhYmxlKSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBtdXN0IG5vdCBiZSBlbnVtZXJhYmxlLiIpOwp9CmlmIChkZXNjLmNvbmZpZ3VyYWJsZSkgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUgbXVzdCBub3QgYmUgY29uZmlndXJhYmxlLiIpOwp9Cgo=","commentary":"","description":"Tests that Intl.NumberFormat.prototype has the required attributes.","path":"TestCases/intl402/ch11/11.2/11.2.1.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdCBoYXMgYSBzdXBwb3J0ZWRMb2NhbGVzT2YKICogcHJvcGVydHksIGFuZCBpdCB3b3JrcyBhcyBwbGFubmVkLgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCnZhciBkZWZhdWx0TG9jYWxlID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwp2YXIgbm90U3VwcG9ydGVkID0gJ3p4eCc7IC8vICJubyBsaW5ndWlzdGljIGNvbnRlbnQiCnZhciByZXF1ZXN0ZWRMb2NhbGVzID0gW2RlZmF1bHRMb2NhbGUsIG5vdFN1cHBvcnRlZF07CiAgICAKdmFyIHN1cHBvcnRlZExvY2FsZXM7CgppZiAoIUludGwuTnVtYmVyRm9ybWF0Lmhhc093blByb3BlcnR5KCdzdXBwb3J0ZWRMb2NhbGVzT2YnKSkgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdCBkb2Vzbid0IGhhdmUgYSBzdXBwb3J0ZWRMb2NhbGVzT2YgcHJvcGVydHkuIik7Cn0KICAgIApzdXBwb3J0ZWRMb2NhbGVzID0gSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKHJlcXVlc3RlZExvY2FsZXMpOwppZiAoc3VwcG9ydGVkTG9jYWxlcy5sZW5ndGggIT09IDEpIHsKICAgICRFUlJPUignVGhlIGxlbmd0aCBvZiBzdXBwb3J0ZWQgbG9jYWxlcyBsaXN0IGlzIG5vdCAxLicpOwp9CiAgICAKaWYgKHN1cHBvcnRlZExvY2FsZXNbMF0gIT09IGRlZmF1bHRMb2NhbGUpIHsKICAgICRFUlJPUignVGhlIGRlZmF1bHQgbG9jYWxlIGlzIG5vdCByZXR1cm5lZCBpbiB0aGUgc3VwcG9ydGVkIGxpc3QuJyk7Cn0KCg==","commentary":"","description":"Tests that Intl.NumberFormat has a supportedLocalesOf\nproperty, and it works as planned.","path":"TestCases/intl402/ch11/11.2/11.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZgogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZiwgdHJ1ZSwgZmFsc2UsIFtdLCAxKTsKCg==","commentary":"","description":"Tests that Intl.NumberFormat.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.2/11.2.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0IGRvZXMgbm90IGFjY2VwdCBVbmljb2RlIGxvY2FsZQogKiAgICAgZXh0ZW5zaW9uIGtleXMgYW5kIHZhbHVlcyB0aGF0IGFyZSBub3QgYWxsb3dlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBsb2NhbGVzID0gWyJqYS1KUCIsICJ6aC1IYW5zLUNOIiwgInpoLUhhbnQtVFciXTsKdmFyIGlucHV0ID0gMTIzNDU2Ny44OTsKCmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICB2YXIgZGVmYXVsdE51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChbbG9jYWxlXSk7CiAgICB2YXIgZGVmYXVsdE9wdGlvbnMgPSBkZWZhdWx0TnVtYmVyRm9ybWF0LnJlc29sdmVkT3B0aW9ucygpOwogICAgdmFyIGRlZmF1bHRPcHRpb25zSlNPTiA9IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRPcHRpb25zKTsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gZGVmYXVsdE9wdGlvbnMubG9jYWxlOwogICAgdmFyIGRlZmF1bHRGb3JtYXR0ZWQgPSBkZWZhdWx0TnVtYmVyRm9ybWF0LmZvcm1hdChpbnB1dCk7CgogICAgdmFyIGtleVZhbHVlcyA9IHsKICAgICAgICAiY3UiOiBbIlVTRCIsICJFVVIiLCAiSlBZIiwgIkNOWSIsICJUV0QiLCAiaW52YWxpZCJdLAogICAgICAgICJudSI6IFsibmF0aXZlIiwgInRyYWRpdGlvIiwgImZpbmFuY2UiLCAiaW52YWxpZCJdCiAgICB9OwogICAgCiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhrZXlWYWx1ZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgIGtleVZhbHVlc1trZXldLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgIHZhciBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2xvY2FsZSArICItdS0iICsga2V5ICsgIi0iICsgdmFsdWVdKTsKICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSBudW1iZXJGb3JtYXQucmVzb2x2ZWRPcHRpb25zKCk7CiAgICAgICAgICAgIGlmIChvcHRpb25zLmxvY2FsZSAhPT0gZGVmYXVsdExvY2FsZSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIG9wdGlvbnMubG9jYWxlICsgIiBpcyBhZmZlY3RlZCBieSBrZXkgIiArCiAgICAgICAgICAgICAgICBrZXkgKyAiOyB2YWx1ZSAiICsgdmFsdWUgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShvcHRpb25zKSAhPT0gZGVmYXVsdE9wdGlvbnNKU09OKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlJlc29sdmVkIG9wdGlvbnMgIiArIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICsgIiBhcmUgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZGVmYXVsdEZvcm1hdHRlZCAhPT0gbnVtYmVyRm9ybWF0LmZvcm1hdChpbnB1dCkpIHsKICAgICAgICAgICAgICAgICRFUlJPUigiRm9ybWF0dGVkIHZhbHVlICIgKyBudW1iZXJGb3JtYXQuZm9ybWF0KGlucHV0KSArICIgaXMgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that Intl.NumberFormat does not accept Unicode locale\n extension keys and values that are not allowed.","path":"TestCases/intl402/ch11/11.2/11.2.3_b.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlCiAqIEludGwuTnVtYmVyRm9ybWF0LgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCmlmIChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuTnVtYmVyRm9ybWF0KSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBub3QgdGhlIHNhbWUgYXMgIiArCiAgICAgICAgICAiSW50bC5OdW1iZXJGb3JtYXQiKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.constructor is the\nIntl.NumberFormat.","path":"TestCases/intl402/ch11/11.3/11.3.1.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGNvbnZlcnRzIG90aGVyIHR5cGVzIHRvIG51bWJlcnMuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwp2YXIgdGVzdERhdGEgPSBbdW5kZWZpbmVkLCBudWxsLCB0cnVlLCAnMC42NjY2NjY2J107CnZhciBudW1iZXI7CnZhciBpLCBpbnB1dCwgY29ycmVjdFJlc3VsdCwgcmVzdWx0OwoKZm9yIChpIGluIHRlc3REYXRhKSB7CiAgICBpbnB1dCA9IHRlc3REYXRhW2ldOwogICAgbnVtYmVyID0gK2lucHV0OwogICAgY29ycmVjdFJlc3VsdCA9IGZvcm1hdHRlci5mb3JtYXQobnVtYmVyKTsKICAgIAogICAgcmVzdWx0ID0gZm9ybWF0dGVyLmZvcm1hdChpbnB1dCk7CiAgICBpZiAocmVzdWx0ICE9PSBjb3JyZWN0UmVzdWx0KSB7CiAgICAgICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBkb2VzIG5vdCBjb252ZXJ0IG90aGVyICcgKwogICAgICAgICAgICAndHlwZXMgdG8gbnVtYmVycy4gSW5wdXQ6ICInK2lucHV0KyciIE91dHB1dDogIicrcmVzdWx0KyciICcrCiAgICAgICAgICAgICdFeHBlY3RlZCBvdXRwdXQ6ICInK2NvcnJlY3RSZXN1bHQrJyInKTsKICAgIH0KfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nconverts other types to numbers.","path":"TestCases/intl402/ch11/11.3/11.3.2_1_a_ii.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QobmV3IEludGwuTnVtYmVyRm9ybWF0KCkuZm9ybWF0LCB0cnVlLCBmYWxzZSwgW10sIDEpOwoK","commentary":"","description":"Tests that the function returned by Intl.NumberFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3.2_1_a_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvcm1hdCBmdW5jdGlvbiBpcyBib3VuZCB0byBpdHMgSW50bC5OdW1iZXJGb3JtYXQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgbnVtYmVycyA9IFswLCAtMCwgMSwgLTEsIDUuNSwgMTIzLCAtMTIzLCAtMTIzLjQ1LCAxMjMuNDQ1MDEsIDAuMDAxMjM0LAogICAgLTAuMDAwMDAwMDAxMjMsIDAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjMsIDEuMiwgMC4wMDAwMDAwMDEyMzQ0NTAxLAogICAgMTIzNDQ1LjAxLCAxMjM0NDUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwgLTEyMzQ0NTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLAogICAgSW5maW5pdHksIC1JbmZpbml0eSwgTmFOXTsKdmFyIGxvY2FsZXMgPSBbdW5kZWZpbmVkLCBbImRlIl0sIFsidGgtdS1udS10aGFpIl0sIFsiZW4iXSwgWyJqYS11LW51LWpwYW5maW4iXSwgWyJhci11LW51LWFyYWIiXV07CnZhciBvcHRpb25zID0gWwogICAgdW5kZWZpbmVkLAogICAge3N0eWxlOiAicGVyY2VudCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIkVVUiIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIklRRCIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIktNRiIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIkNMRiIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3VzZUdyb3VwaW5nOiBmYWxzZSwgbWluaW11bUludGVnZXJEaWdpdHM6IDMsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMSwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAzfQpdOwoKbG9jYWxlcy5mb3JFYWNoKGZ1bmN0aW9uIChsb2NhbGVzKSB7CiAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICB2YXIgZm9ybWF0T2JqID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMpOwogICAgICAgIHZhciBmb3JtYXRGdW5jID0gZm9ybWF0T2JqLmZvcm1hdDsKICAgICAgICBudW1iZXJzLmZvckVhY2goZnVuY3Rpb24gKG51bWJlcikgewogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0dGVkID0gZm9ybWF0T2JqLmZvcm1hdChudW1iZXIpOwogICAgICAgICAgICB2YXIgZm9ybWF0dGVkID0gZm9ybWF0RnVuYyhudW1iZXIpOwogICAgICAgICAgICBpZiAocmVmZXJlbmNlRm9ybWF0dGVkICE9PSBmb3JtYXR0ZWQpIHsKICAgICAgICAgICAgICAgICRFUlJPUigiZm9ybWF0IGZ1bmN0aW9uIHByb2R1Y2VzIGRpZmZlcmVudCByZXN1bHQgdGhhbiBmb3JtYXQgbWV0aG9kIGZvciBsb2NhbGVzICIgKwogICAgICAgICAgICAgICAgICAgIGxvY2FsZXMgKyAiOyBvcHRpb25zOiAiICsgKG9wdGlvbnMgPyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSA6IG9wdGlvbnMpICsKICAgICAgICAgICAgICAgICAgICAiIDogIiArIGZvcm1hdHRlZCArICIgdnMuICIgKyByZWZlcmVuY2VGb3JtYXR0ZWQgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that format function is bound to its Intl.NumberFormat.","path":"TestCases/intl402/ch11/11.3/11.3.2_1_c.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGRvZXNuJ3QgdHJlYXQgYWxsIG51bWJlcnMgYXMgbmVnYXRpdmUuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwogIAppZiAoZm9ybWF0dGVyLmZvcm1hdCgxKSA9PT0gZm9ybWF0dGVyLmZvcm1hdCgtMSkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgaXMgZm9ybWF0dGluZyAxIGFuZCAtMSB0aGUgc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZXIuZm9ybWF0KC0wKSAhPT0gZm9ybWF0dGVyLmZvcm1hdCgwKSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBpcyBmb3JtYXR0aW5nIHNpZ25lZCB6ZXJvcyBkaWZmZXJlbnRseS4nKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\ndoesn't treat all numbers as negative.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_1.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGhhbmRsZXMgTmFOLCBJbmZpbml0eSwgYW5kIC1JbmZpbml0eSBwcm9wZXJseS4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgovLyBGSVhNRTogV2UgYXJlIG9ubHkgbGlzdGluZyBOdW1lcmljX1R5cGU9RGVjaW1hbC4gTWF5IG5lZWQgdG8gYWRkIG1vcmUKLy8gd2hlbiB0aGUgc3BlYyBjbGFyaWZpZXMuIEN1cnJlbnQgYXMgb2YgVW5pY29kZSA2LjEuCnZhciBoYXNVbmljb2RlRGlnaXRzID0gbmV3IFJlZ0V4cCgnLiooWycgKwogICAgJzAtOVx1MDY2MC1cdTA2NjlcdTA2RjAtXHUwNkY5XHUwN0MwLVx1MDdDOVx1MDk2Ni1cdTA5NkYnICsKICAgICdcdTA5RTYtXHUwOUVGXHUwQTY2LVx1MEE2Rlx1MEFFNi1cdTBBRUZcdTBCNjYtXHUwQjZGXHUwQkU2LVx1MEJFRicgKwogICAgJ1x1MEM2Ni1cdTBDNkZcdTBDRTYtXHUwQ0VGXHUwRDY2LVx1MEQ2Rlx1MEU1MC1cdTBFNTlcdTBFRDAtXHUwRUQ5JyArCiAgICAnXHUwRjIwLVx1MEYyOVx1MTA0MC1cdTEwNDlcdTEwOTAtXHUxMDk5XHUxN0UwLVx1MTdFOVx1MTgxMC1cdTE4MTknICsKICAgICdcdTE5NDYtXHUxOTRGXHUxOUQwLVx1MTlEOVx1MUE4MC1cdTFBODlcdTFBOTAtXHUxQTk5XHUxQjUwLVx1MUI1OScgKwogICAgJ1x1MUJCMC1cdTFCQjlcdTFDNDAtXHUxQzQ5XHUxQzUwLVx1MUM1OVx1QTYyMC1cdUE2MjlcdUE4RDAtXHVBOEQ5JyArCiAgICAnXHVBOTAwLVx1QTkwOVx1QTlEMC1cdUE5RDlcdUFBNTAtXHVBQTU5XHVBQkYwLVx1QUJGOVx1RkYxMC1cdUZGMTknICsKICAgICddfCcgKwogICAgJ1x1RDgwMVtcdURDQTAtXHVEQ0E5XXwnICsKICAgICdcdUQ4MDRbXHVEQzY2LVx1REM2Rlx1RENGMC1cdURDRjlcdUREMzYtXHVERDNGXHVEREQwLVx1REREOV18JyArCiAgICAnXHVEODA1W1x1REVDMC1cdURFQzldfCcgKwogICAgJ1x1RDgzNVtcdURGQ0UtXHVERkZGXSknKTsKCnZhciBmb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKTsKdmFyIGZvcm1hdHRlZE5hTiA9IGZvcm1hdHRlci5mb3JtYXQoTmFOKTsKdmFyIGZvcm1hdHRlZEluZmluaXR5ID0gZm9ybWF0dGVyLmZvcm1hdChJbmZpbml0eSk7CnZhciBmb3JtYXR0ZWROZWdhdGl2ZUluZmluaXR5ID0gZm9ybWF0dGVyLmZvcm1hdCgtSW5maW5pdHkpOwoKaWYgKGZvcm1hdHRlZE5hTiA9PT0gZm9ybWF0dGVkSW5maW5pdHkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gYW5kIEluZmluaXR5IHRoZSAnICsKICAgICAgICAnc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZWROYU4gPT09IGZvcm1hdHRlZE5lZ2F0aXZlSW5maW5pdHkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gYW5kIG5lZ2F0aXZlICcgKwogICAgICAgICdJbmZpbml0eSB0aGUgc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZWRJbmZpbml0eSA9PT0gZm9ybWF0dGVkTmVnYXRpdmVJbmZpbml0eSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBmb3JtYXRzIEluZmluaXR5IGFuZCAnICsKICAgICAgICAnbmVnYXRpdmUgSW5maW5pdHkgdGhlIHNhbWUgd2F5LicpOwp9CgppZiAoaGFzVW5pY29kZURpZ2l0cy50ZXN0KGZvcm1hdHRlZE5hTikpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gdXNpbmcgYSBkaWdpdC4nKTsKfQoKaWYgKGhhc1VuaWNvZGVEaWdpdHMudGVzdChmb3JtYXR0ZWRJbmZpbml0eSkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBJbmZpbml0eSB1c2luZyBhICcgKwogICAgICAgICdkaWdpdC4nKTsKfQoKaWYgKGhhc1VuaWNvZGVEaWdpdHMudGVzdChmb3JtYXR0ZWROZWdhdGl2ZUluZmluaXR5KSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBmb3JtYXRzIG5lZ2F0aXZlIEluZmluaXR5ICcgKyAKICAgICAgICAndXNpbmcgYSBkaWdpdC4nKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nhandles NaN, Infinity, and -Infinity properly.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_2.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGZvcm1hdHMgcGVyY2VudCB2YWx1ZXMgcHJvcGVybHkuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIG51bWJlckZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwp2YXIgcGVyY2VudEZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh1bmRlZmluZWQsIHtzdHlsZTogJ3BlcmNlbnQnfSk7Cgp2YXIgZm9ybWF0dGVkVHdlbnR5ID0gbnVtYmVyRm9ybWF0dGVyLmZvcm1hdCgyMCk7CnZhciBmb3JtYXR0ZWRUd2VudHlQZXJjZW50ID0gcGVyY2VudEZvcm1hdHRlci5mb3JtYXQoMC4yMCk7CgovLyBGSVhNRTogTWF5IG5vdCB3b3JrIGZvciBzb21lIHRoZW9yZXRpY2FsIGxvY2FsZXMgd2hlcmUgcGVyY2VudHMgYW5kCi8vIG5vcm1hbCBudW1iZXJzIGFyZSBmb3JtYXR0ZWQgdXNpbmcgZGlmZmVyZW50IG51bWJlcmluZyBzeXN0ZW1zLgppZiAoZm9ybWF0dGVkVHdlbnR5UGVyY2VudC5pbmRleE9mKGZvcm1hdHRlZFR3ZW50eSkgPT09IC0xKSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0J3MgZm9ybWF0dGluZyBvZiAyMCUgZG9lcyBub3QgaW5jbHVkZSBhICIgKwogICAgICAgICJmb3JtYXR0aW5nIG9mIDIwIGFzIGEgc3Vic3RyaW5nLiIpOwp9CgovLyBGSVhNRTogTW92ZSB0aGlzIHRvIHNvbWV3aGVyZSBhcHByb3ByaWF0ZQppZiAocGVyY2VudEZvcm1hdHRlci5mb3JtYXQoMC4wMTEpID09PSBwZXJjZW50Rm9ybWF0dGVyLmZvcm1hdCgwLjAyKSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBpcyBmb3JtYXR0aW5nIDEuMSUgYW5kIDIlIHRoZSBzYW1lIHdheS4nKTsKfQoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nformats percent values properly.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_3_b.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIHN1cHBvcnRzIGFsbCBhbHRlcm5hdGl2ZSBudW1iZXJpbmcgc3lzdGVtcy4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgp2YXIgbnVtYmVyaW5nU3lzdGVtcyA9IHsKICAgIGFyYWI6IDB4MDY2MCwKICAgIGFyYWJleHQ6IDB4MDZGMCwKICAgIGJlbmc6IDB4MDlFNiwKICAgIGRldmE6IDB4MDk2NiwKICAgIGZ1bGx3aWRlOiAweEZGMTAsCiAgICBndWpyOiAweDBBRTYsCiAgICBndXJ1OiAweDBBNjYsCiAgICBoYW5pZGVjOiBbMHgzMDA3LCAweDRFMDAsIDB4NEU4QywgMHg0RTA5LCAweDU2REIsCiAgICAgICAgICAgICAgMHg0RTk0LCAweDUxNkQsIDB4NEUwMywgMHg1MTZCLCAweDRFNURdLAogICAga2htcjogMHgxN0UwLAogICAga25kYTogMHgwQ0U2LAogICAgbGFvbzogMHgwRUQwLAogICAgbGF0bjogMHgwMDMwLAogICAgbWx5bTogMHgwRDY2LAogICAgbW9uZzogMHgxODEwLAogICAgbXltcjogMHgxMDQwLAogICAgb3J5YTogMHgwQjY2LAogICAgdGFtbGRlYzogMHgwQkU2LAogICAgdGVsdTogMHgwQzY2LAogICAgdGhhaTogMHgwRTUwLAogICAgdGlidDogMHgwRjIwCn07Cgp2YXIgb3B0aW9ucywgZm9ybWF0dGVyOwp2YXIgcywgemVyb0NvZGUsIGRpZ2l0TGlzdDsKCmZvciAocyBpbiBudW1iZXJpbmdTeXN0ZW1zKSB7CiAgICB6ZXJvQ29kZSA9IG51bWJlcmluZ1N5c3RlbXNbc107CiAgICBpZiAodHlwZW9mIHplcm9Db2RlID09PSAnbnVtYmVyJykgewogICAgICAgIGRpZ2l0TGlzdCA9IFt6ZXJvQ29kZSwgemVyb0NvZGUrMSwgemVyb0NvZGUrMiwgemVyb0NvZGUrMywgemVyb0NvZGUrNCwKICAgICAgICAgICAgICAgICAgIHplcm9Db2RlKzUsIHplcm9Db2RlKzYsIHplcm9Db2RlKzcsIHplcm9Db2RlKzgsIHplcm9Db2RlKzldOwogICAgICAgIG51bWJlcmluZ1N5c3RlbXNbc10gPSBkaWdpdExpc3Q7CiAgICB9Cn0KCi8vIEZJWE1FOiBVbmZpbmlzaGVkCgo=","commentary":"","description":"Tests that Intl.NumberFormat.prototype.format\nsupports all alternative numbering systems.","path":"TestCases/intl402/ch11/11.3/11.3.2_FN_3_e.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgImZvcm1hdCIpLmdldCAsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=","commentary":"","description":"Tests that the getter for Intl.NumberFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgZGlnaXRzIGFyZSBkZXRlcm1pbmVkIGNvcnJlY3RseSB3aGVuIHNwZWNpZnlpbmcgcHJlL3Bvc3QgZGVjaW1hbCBkaWdpdHMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgbG9jYWxlcyA9IFsKICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZSwKICAgICJhciIsICJkZSIsICJ0aCIsICJqYSIKXTsKdmFyIG51bWJlcmluZ1N5c3RlbXMgPSBbCiAgICAiYXJhYiIsCiAgICAibGF0biIsCiAgICAidGhhaSIsCiAgICAiaGFuaWRlYyIKXTsKdmFyIHRlc3REYXRhID0gewogICAgIjAiOiAiMDAwLjAiLAogICAgIi0wIjogIjAwMC4wIiwKICAgICIxMjMiOiAiMTIzLjAiLAogICAgIi0xMjMiOiAiLTEyMy4wIiwKICAgICIxMjM0NSI6ICIxMjM0NS4wIiwKICAgICItMTIzNDUiOiAiLTEyMzQ1LjAiLAogICAgIjEyMy40NSI6ICIxMjMuNDUiLAogICAgIi0xMjMuNDUiOiAiLTEyMy40NSIsCiAgICAiMTIzLjQ0NTAxIjogIjEyMy40NDUiLAogICAgIi0xMjMuNDQ1MDEiOiAiLTEyMy40NDUiLAogICAgIjAuMDAxMjM0IjogIjAwMC4wMDEiLAogICAgIi0wLjAwMTIzNCI6ICItMDAwLjAwMSIsCiAgICAiMC4wMDAwMDAwMDEyMyI6ICIwMDAuMCIsCiAgICAiLTAuMDAwMDAwMDAxMjMiOiAiLTAwMC4wIiwKICAgICIwLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIzIjogIjAwMC4wIiwKICAgICItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMyI6ICItMDAwLjAiLAogICAgIjEuMiI6ICIwMDEuMiIsCiAgICAiLTEuMiI6ICItMDAxLjIiLAogICAgIjAuMDAwMDAwMDAxMjM0NDUwMSI6ICIwMDAuMCIsCiAgICAiLTAuMDAwMDAwMDAxMjM0NDUwMSI6ICItMDAwLjAiLAogICAgIjEyMzQ0NS4wMSI6ICIxMjM0NDUuMDEiLAogICAgIi0xMjM0NDUuMDEiOiAiLTEyMzQ0NS4wMSIsCiAgICAiMTIzNDQ1MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiOiAiMTIzNDQ1MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMCIsCiAgICAiLTEyMzQ0NTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIjogIi0xMjM0NDUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4wIgp9OwoKdGVzdE51bWJlckZvcm1hdChsb2NhbGVzLCBudW1iZXJpbmdTeXN0ZW1zLAogICAge3VzZUdyb3VwaW5nOiBmYWxzZSwgbWluaW11bUludGVnZXJEaWdpdHM6IDMsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMSwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAzfSwKICAgIHRlc3REYXRhKTsKCg==","commentary":"","description":"Tests that the digits are determined correctly when specifying pre/post decimal digits.","path":"TestCases/intl402/ch11/11.3/11.3.2_TRF.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgZGlnaXRzIGFyZSBkZXRlcm1pbmVkIGNvcnJlY3RseSB3aGVuIHNwZWNpZnlpbmcgc2lnbmlmaWNhbnQgZGlnaXRzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbCiAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGUsCiAgICAiYXIiLCAiZGUiLCAidGgiLCAiamEiCl07CnZhciBudW1iZXJpbmdTeXN0ZW1zID0gWwogICAgImFyYWIiLAogICAgImxhdG4iLAogICAgInRoYWkiLAogICAgImhhbmlkZWMiCl07CnZhciB0ZXN0RGF0YSA9IHsKICAgICIwIjogIjAuMDAiLAogICAgIi0wIjogIjAuMDAiLAogICAgIjEyMyI6ICIxMjMiLAogICAgIi0xMjMiOiAiLTEyMyIsCiAgICAiMTIzNDUiOiAiMTIzNDUiLAogICAgIi0xMjM0NSI6ICItMTIzNDUiLAogICAgIjEyMy40NSI6ICIxMjMuNDUiLAogICAgIi0xMjMuNDUiOiAiLTEyMy40NSIsCiAgICAiMTIzLjQ0NTAxIjogIjEyMy40NSIsCiAgICAiLTEyMy40NDUwMSI6ICItMTIzLjQ1IiwKICAgICIwLjAwMTIzNCI6ICIwLjAwMTIzNCIsCiAgICAiLTAuMDAxMjM0IjogIi0wLjAwMTIzNCIsCiAgICAiMC4wMDAwMDAwMDEyMyI6ICIwLjAwMDAwMDAwMTIzIiwKICAgICItMC4wMDAwMDAwMDEyMyI6ICItMC4wMDAwMDAwMDEyMyIsCiAgICAiMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMyI6ICIwLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIzIiwKICAgICItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMyI6ICItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMyIsCiAgICAiMS4yIjogIjEuMjAiLAogICAgIi0xLjIiOiAiLTEuMjAiLAogICAgIjAuMDAwMDAwMDAxMjM0NDUwMSI6ICIwLjAwMDAwMDAwMTIzNDUiLAogICAgIi0wLjAwMDAwMDAwMTIzNDQ1MDEiOiAiLTAuMDAwMDAwMDAxMjM0NSIsCiAgICAiMTIzNDQ1LjAxIjogIjEyMzQ1MCIsCiAgICAiLTEyMzQ0NS4wMSI6ICItMTIzNDUwIiwKICAgICIxMjM0NDUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCI6ICIxMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsCiAgICAiLTEyMzQ0NTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIjogIi0xMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKfTsKCnRlc3ROdW1iZXJGb3JtYXQobG9jYWxlcywgbnVtYmVyaW5nU3lzdGVtcywKICAgIHt1c2VHcm91cGluZzogZmFsc2UsIG1pbmltdW1TaWduaWZpY2FudERpZ2l0czogMywgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzOiA1fSwKICAgIHRlc3REYXRhKTsKCg==","commentary":"","description":"Tests that the digits are determined correctly when specifying significant digits.","path":"TestCases/intl402/ch11/11.3/11.3.2_TRP.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgaGFzIHRoZSByaWdodCBwcm9wZXJ0aWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGFjdHVhbCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpOwoKdmFyIGFjdHVhbDIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKTsKaWYgKGFjdHVhbDIgPT09IGFjdHVhbCkgewogICAgJEVSUk9SKCJyZXNvbHZlZE9wdGlvbnMgcmV0dXJuZWQgdGhlIHNhbWUgb2JqZWN0IHR3aWNlLiIpOwp9CgovLyB0aGlzIGFzc3VtZXMgdGhlIGRlZmF1bHQgdmFsdWVzIHdoZXJlIHRoZSBzcGVjaWZpY2F0aW9uIHByb3ZpZGVzIHRoZW0KbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJsb2NhbGUiLCBpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJudW1iZXJpbmdTeXN0ZW0iLCBpc1ZhbGlkTnVtYmVyaW5nU3lzdGVtKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJzdHlsZSIsIFsiZGVjaW1hbCJdKTsKbXVzdE5vdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJjdXJyZW5jeSIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgImN1cnJlbmN5RGlzcGxheSIpOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1pbmltdW1JbnRlZ2VyRGlnaXRzIiwgWzFdKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJtaW5pbXVtRnJhY3Rpb25EaWdpdHMiLCBbMF0pOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsIFszXSk7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIik7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIik7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAidXNlR3JvdXBpbmciLCBbdHJ1ZSwgZmFsc2VdKTsKCg==","commentary":"","description":"Tests that the object returned by Intl.NumberFormat.prototype.resolvedOptions\n has the right properties.","path":"TestCases/intl402/ch11/11.3/11.3.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK","commentary":"","description":"Tests that Intl.NumberFormat.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3.3_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUgaXMgYW4gb2JqZWN0IHRoYXQKICogaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYXMgYW4gSW50bC5OdW1iZXJGb3JtYXQuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKLy8gdGVzdCBieSBjYWxsaW5nIGEgZnVuY3Rpb24gdGhhdCB3b3VsZCBmYWlsIGlmICJ0aGlzIiB3ZXJlIG5vdCBhbiBvYmplY3QKLy8gaW5pdGlhbGl6ZWQgYXMgYW4gSW50bC5OdW1iZXJGb3JtYXQKaWYgKHR5cGVvZiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0KDApICE9PSAic3RyaW5nIikgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdCdzIHByb3RvdHlwZSBpcyBub3QgYW4gb2JqZWN0IHRoYXQgaGFzIGJlZW4gIiArCiAgICAgICAgImluaXRpYWxpemVkIGFzIGFuIEludGwuTnVtYmVyRm9ybWF0Iik7Cn0KCg==","commentary":"","description":"Tests that Intl.NumberFormat.prototype is an object that\nhas been initialized as an Intl.NumberFormat.","path":"TestCases/intl402/ch11/11.3/11.3_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBmdW5jdGlvbnMgdGhyb3cgYQogKiAgICAgVHlwZUVycm9yIGlmIGNhbGxlZCBvbiBhIG5vbi1vYmplY3QgdmFsdWUgb3IgYW4gb2JqZWN0IHRoYXQgaGFzbid0IGJlZW4KICogICAgIGluaXRpYWxpemVkIGFzIGEgTnVtYmVyRm9ybWF0LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBmdW5jdGlvbnMgPSB7CiAgICAiZm9ybWF0IGdldHRlciI6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLCAiZm9ybWF0IikuZ2V0LAogICAgcmVzb2x2ZWRPcHRpb25zOiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zCn07CnZhciBpbnZhbGlkVGFyZ2V0cyA9IFt1bmRlZmluZWQsIG51bGwsIHRydWUsIDAsICJOdW1iZXJGb3JtYXQiLCBbXSwge31dOwoKT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZnVuY3Rpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChmdW5jdGlvbk5hbWUpIHsKICAgIHZhciBmID0gZnVuY3Rpb25zW2Z1bmN0aW9uTmFtZV07CiAgICBpbnZhbGlkVGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uICh0YXJnZXQpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgZi5jYWxsKHRhcmdldCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2FsbGluZyAiICsgZnVuY3Rpb25OYW1lICsgIiBvbiAiICsgdGFyZ2V0ICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJDYWxsaW5nICIgKyBmdW5jdGlvbk5hbWUgKyAiIG9uICIgKyB0YXJnZXQgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that Intl.NumberFormat.prototype functions throw a\n TypeError if called on a non-object value or an object that hasn't been\n initialized as a NumberFormat.","path":"TestCases/intl402/ch11/11.3/11.3_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZQogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgZmFsc2UsIGZhbHNlLCBbImNvbnN0cnVjdG9yIiwgImZvcm1hdCIsICJyZXNvbHZlZE9wdGlvbnMiXSk7Cgo=","commentary":"","description":"Tests that Intl.NumberFormat.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch11/11.3/11.3_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0IGluc3RhbmNlcyBoYXZlIHRoZSBzcGVjaWZpZWQgcHJvcGVydGllcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgb2JqID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCk7Cgp2YXIgdG9TdHJpbmdWYWx1ZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOwppZiAodG9TdHJpbmdWYWx1ZSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAgICRFUlJPUigiSW50bC5OdW1iZXJGb3JtYXQgaW5zdGFuY2UgcHJvZHVjZXMgd3JvbmcgW1tDbGFzc11dIC0gdG9TdHJpbmcgcmV0dXJucyAiICsgdG9TdHJpbmdWYWx1ZSArICIuIik7Cn0KCg==","commentary":"","description":"Tests that Intl.NumberFormat instances have the specified properties.","path":"TestCases/intl402/ch11/11.4/11.4_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFuIG9iamVjdCBjYW4ndCBiZSByZS1pbml0aWFsaXplZCBhcyBhIERhdGVUaW1lRm9ybWF0LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIG9iaiwgZXJyb3I7CiAgICAKICAgIC8vIHZhcmlhbnQgMTogdXNlIGNvbnN0cnVjdG9yIGluIGEgIm5ldyIgZXhwcmVzc2lvbgogICAgb2JqID0gbmV3IENvbnN0cnVjdG9yKCk7CiAgICB0cnkgewogICAgICAgIEludGwuRGF0ZVRpbWVGb3JtYXQuY2FsbChvYmopOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIERhdGVUaW1lRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIERhdGVUaW1lRm9ybWF0IHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KICAgIAogICAgLy8gdmFyaWFudCAyOiB1c2UgY29uc3RydWN0b3IgYXMgYSBmdW5jdGlvbgogICAgb2JqID0gQ29uc3RydWN0b3IuY2FsbCh7fSk7CiAgICBlcnJvciA9IHVuZGVmaW5lZDsKICAgIHRyeSB7CiAgICAgICAgSW50bC5EYXRlVGltZUZvcm1hdC5jYWxsKG9iaik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlJlLWluaXRpYWxpemluZyBvYmplY3QgY3JlYXRlZCB3aXRoIGNvbnN0cnVjdG9yIGFzIGZ1bmN0aW9uIGFzIERhdGVUaW1lRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBjb25zdHJ1Y3RvciBhcyBmdW5jdGlvbiBhcyBEYXRlVGltZUZvcm1hdCB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==","commentary":"","description":"Tests that an object can't be re-initialized as a DateTimeFormat.","path":"TestCases/intl402/ch12/12.1/12.1.1_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gaG91cjEyIGlzIHByb2Nlc3NlZCBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0T3B0aW9uKEludGwuRGF0ZVRpbWVGb3JtYXQsICJob3VyMTIiLCAiYm9vbGVhbiIpOwoK","commentary":"","description":"Tests that the option hour12 is processed correctly.","path":"TestCases/intl402/ch12/12.1/12.1.1_18.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbIndlZWtkYXkiLCAiZXJhIiwgInllYXIiLCAibW9udGgiLCAiZGF5IiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJ0aW1lWm9uZSJdKTsKCnZhciBsb2NhbGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh1bmRlZmluZWQsIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKaWYgKCFpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGxvY2FsZSkpIHsKICAgICRFUlJPUigiRGF0ZVRpbWVGb3JtYXQgcmV0dXJucyBpbnZhbGlkIGxvY2FsZSAiICsgbG9jYWxlICsgIi4iKTsKfQoK","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch12/12.1/12.1.1_22.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb25zIGZvciB0aGUgZGF0ZSBhbmQgdGltZSBjb21wb25lbnRzIGFyZSBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKZ2V0RGF0ZVRpbWVDb21wb25lbnRzKCkuZm9yRWFjaChmdW5jdGlvbiAoY29tcG9uZW50KSB7CiAgICB0ZXN0T3B0aW9uKEludGwuRGF0ZVRpbWVGb3JtYXQsIGNvbXBvbmVudCwgInN0cmluZyIsIGdldERhdGVUaW1lQ29tcG9uZW50VmFsdWVzKGNvbXBvbmVudCksIHVuZGVmaW5lZCwge2lzSUxEOiB0cnVlfSk7Cn0pOwoK","commentary":"","description":"Tests that the options for the date and time components are processed correctly.","path":"TestCases/intl402/ch12/12.1/12.1.1_23.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gZm9ybWF0TWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLkRhdGVUaW1lRm9ybWF0LCAiZm9ybWF0TWF0Y2hlciIsICJzdHJpbmciLCBbImJhc2ljIiwgImJlc3QgZml0Il0sICJiZXN0IGZpdCIsIHtub1JldHVybjogdHJ1ZX0pOwoK","commentary":"","description":"Tests that the option formatMatcher is processed correctly.","path":"TestCases/intl402/ch12/12.1/12.1.1_25.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZU1hdGNoZXIiXSk7Cgp2YXIgbG9jYWxlID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodW5kZWZpbmVkLCB7bG9jYWxlTWF0Y2hlcjogImxvb2t1cCJ9KS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CmlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhsb2NhbGUpKSB7CiAgICAkRVJST1IoIkRhdGVUaW1lRm9ybWF0IHJldHVybnMgaW52YWxpZCBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7Cn0KCg==","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch12/12.1/12.1.1_5.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLkRhdGVUaW1lRm9ybWF0LCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCBbImxvb2t1cCIsICJiZXN0IGZpdCJdLCAiYmVzdCBmaXQiLCB7bm9SZXR1cm46IHRydWV9KTsKCg==","commentary":"","description":"Tests that the option localeMatcher is processed correctly.","path":"TestCases/intl402/ch12/12.1/12.1.1_6.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBzZXQgb2Ygb3B0aW9ucyBmb3IgdGhlIGRhdGUgYW5kIHRpbWUgY29tcG9uZW50cyBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbW10sIFsiemgtSGFucy1DTiJdLCBbImhpLUlOIl0sIFsiZW4tVVMiXSwgWyJpZC1JRCJdXTsKdmFyIGRhdGVzID0gW25ldyBEYXRlKCksIG5ldyBEYXRlKDApLCBuZXcgRGF0ZShEYXRlLnBhcnNlKCIxOTg5LTExLTA5VDE3OjU3OjAwWiIpKV07CgpmdW5jdGlvbiB0ZXN0V2l0aERhdGVUaW1lRm9ybWF0KG9wdGlvbnMsIGV4cGVjdGVkKSB7CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICB2YXIgZm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlcywgb3B0aW9ucyk7CiAgICAgICAgdmFyIHJlc29sdmVkT3B0aW9ucyA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKTsKICAgICAgICBnZXREYXRlVGltZUNvbXBvbmVudHMoKS5mb3JFYWNoKGZ1bmN0aW9uIChjb21wb25lbnQpIHsKICAgICAgICAgICAgaWYgKHJlc29sdmVkT3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShjb21wb25lbnQpKSB7CiAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVkLmhhc093blByb3BlcnR5KGNvbXBvbmVudCkpIHsKICAgICAgICAgICAgICAgICAgICAkRVJST1IoIlVucmVxdWVzdGVkIGNvbXBvbmVudCAiICsgY29tcG9uZW50ICsKICAgICAgICAgICAgICAgICAgICAgICAgIiBhZGRlZCB0byBleHBlY3RlZCBzdWJzZXQgIiArIEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkKSArCiAgICAgICAgICAgICAgICAgICAgICAgICI7IGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiLCBvcHRpb25zICIgKwogICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogb3B0aW9ucykgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkLmhhc093blByb3BlcnR5KGNvbXBvbmVudCkpIHsKICAgICAgICAgICAgICAgICAgICAkRVJST1IoIk1pc3NpbmcgY29tcG9uZW50ICIgKyBjb21wb25lbnQgKwogICAgICAgICAgICAgICAgICAgICAgICAiIGZyb20gZXhwZWN0ZWQgc3Vic2V0ICIgKyBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkgKwogICAgICAgICAgICAgICAgICAgICAgICAiOyBsb2NhbGVzICIgKyBsb2NhbGVzICsgIiwgb3B0aW9ucyAiICsKICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbnMgPyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSA6IG9wdGlvbnMpICsgIi4iKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmZ1bmN0aW9uIHRlc3RXaXRoVG9Mb2NhbGUoZiwgb3B0aW9ucywgZXhwZWN0ZWQpIHsKICAgIC8vIGV4cGVjdGVkIGNhbiBiZSBlaXRoZXIgb25lIHN1YnNldCBvciBhbiBhcnJheSBvZiBwb3NzaWJsZSBzdWJzZXRzCiAgICBpZiAoZXhwZWN0ZWQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAgICAgICBleHBlY3RlZCA9IFtleHBlY3RlZF07CiAgICB9CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICBkYXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChkYXRlKSB7CiAgICAgICAgICAgIHZhciBmb3JtYXR0ZWQgPSBEYXRlLnByb3RvdHlwZVtmXS5jYWxsKGRhdGUsIGxvY2FsZXMsIG9wdGlvbnMpOwogICAgICAgICAgICB2YXIgZXhwZWN0ZWRTdHJpbmdzID0gW107CiAgICAgICAgICAgIGV4cGVjdGVkLmZvckVhY2goZnVuY3Rpb24gKGV4cGVjdGVkKSB7CiAgICAgICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlcywgZXhwZWN0ZWQpOwogICAgICAgICAgICAgICAgZXhwZWN0ZWRTdHJpbmdzLnB1c2gocmVmZXJlbmNlRm9ybWF0LmZvcm1hdChkYXRlKSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHJpbmdzLmluZGV4T2YoZm9ybWF0dGVkKSA9PT0gLTEpIHsKICAgICAgICAgICAgICAgICRFUlJPUigiRnVuY3Rpb24gIiArIGYgKyAiIGRpZCBub3QgcmV0dXJuIGV4cGVjdGVkIHN0cmluZyBmb3IgbG9jYWxlcyAiICsKICAgICAgICAgICAgICAgICAgICBsb2NhbGVzICsgIiwgb3B0aW9ucyAiICsgKG9wdGlvbnM/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogb3B0aW9ucykgKwogICAgICAgICAgICAgICAgICAgICI7IGV4cGVjdGVkICIgKwogICAgICAgICAgICAgICAgICAgIChleHBlY3RlZFN0cmluZ3MubGVuZ3RoID09PSAxID8gZXhwZWN0ZWRTdHJpbmdzWzBdIDogIm9uZSBvZiAiICsgZXhwZWN0ZWRTdHJpbmdzKSArCiAgICAgICAgICAgICAgICAgICAgIiwgZ290ICIgKyBmb3JtYXR0ZWQgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSAgIAoKLy8gYW55L2RhdGU6IHN0ZXBzIDVhLCA2YSwgN2EKdGVzdFdpdGhEYXRlVGltZUZvcm1hdCh1bmRlZmluZWQsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifSk7CgovLyBhbnkvZGF0ZTogc3RlcHMgNWEsIDZhCnRlc3RXaXRoRGF0ZVRpbWVGb3JtYXQoe3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIn0sIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyJ9KTsKCi8vIGFueS9kYXRlOiBzdGVwcyA1YSwgNmEKdGVzdFdpdGhEYXRlVGltZUZvcm1hdCh7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIn0sIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifSk7CgovLyBhbnkvYWxsOiBzdGVwcyA1YSwgNmEsIDdhLCA4YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZVN0cmluZyIsIHVuZGVmaW5lZCwgWwogICAgICAgIC8vIHRoZSBmaXJzdCBvbmUgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgc3VwcG9ydGVkOyB0aGUgc2Vjb25kIG9uZSBpcwogICAgICAgIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLCBob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMiLCBzZWNvbmQ6ICJudW1lcmljIn0sCiAgICAgICAge3dlZWtkYXk6ICJzaG9ydCIsIHllYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyIsIGhvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifQpdKTsKCi8vIGFueS9hbGw6IHN0ZXBzIDVhLCA2YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZVN0cmluZyIsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyJ9LCB7eWVhcjogIm51bWVyaWMiLCBtb250aDogIm51bWVyaWMifSk7CgovLyBhbnkvYWxsOiBzdGVwcyA1YSwgNmEKdGVzdFdpdGhUb0xvY2FsZSgidG9Mb2NhbGVTdHJpbmciLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIn0sIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifSk7CgovLyBkYXRlL2RhdGU6IHN0ZXBzIDVhLCA3YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZURhdGVTdHJpbmciLCB1bmRlZmluZWQsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifSk7CgovLyBkYXRlL2RhdGU6IHN0ZXBzIDVhCnRlc3RXaXRoVG9Mb2NhbGUoInRvTG9jYWxlRGF0ZVN0cmluZyIsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyJ9LCB7eWVhcjogIm51bWVyaWMiLCBtb250aDogIm51bWVyaWMifSk7CgovLyBkYXRlL2RhdGU6IHN0ZXBzIDVhLCA3YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZURhdGVTdHJpbmciLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIiwgc2Vjb25kOiAibnVtZXJpYyJ9LCBbCiAgICAgICAgLy8gdGhlIGZpcnN0IG9uZSBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBzdXBwb3J0ZWQ7IHRoZSBzZWNvbmQgb25lIGlzCiAgICAgICAge3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyIsIGhvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifSwKICAgICAgICB7d2Vla2RheTogInNob3J0IiwgeWVhcjogIm51bWVyaWMiLCBtb250aDogIm51bWVyaWMiLCBkYXk6ICJudW1lcmljIiwgaG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIiwgc2Vjb25kOiAibnVtZXJpYyJ9Cl0pOwoKLy8gdGltZS90aW1lOiBzdGVwcyA2YSwgOGEKdGVzdFdpdGhUb0xvY2FsZSgidG9Mb2NhbGVUaW1lU3RyaW5nIiwgdW5kZWZpbmVkLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIiwgc2Vjb25kOiAibnVtZXJpYyJ9KTsKCi8vIHRpbWUvdGltZTogc3RlcHMgNmEsIDhhCnRlc3RXaXRoVG9Mb2NhbGUoInRvTG9jYWxlVGltZVN0cmluZyIsIHt3ZWVrZGF5OiAic2hvcnQiLCB5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifSwKICAgIHt3ZWVrZGF5OiAic2hvcnQiLCB5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLCBob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMiLCBzZWNvbmQ6ICJudW1lcmljIn0pOwoKLy8gdGltZS90aW1lOiBzdGVwcyA2YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZVRpbWVTdHJpbmciLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIn0sIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifSk7CgoK","commentary":"","description":"Tests that the set of options for the date and time components is processed correctly.","path":"TestCases/intl402/ch12/12.1/12.1.1_TDTO.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0IGNhbiBiZSBzdWJjbGFzc2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKLy8gZ2V0IGEgZGF0ZS10aW1lIGZvcm1hdCBhbmQgaGF2ZSBpdCBmb3JtYXQgYW4gYXJyYXkgb2YgZGF0ZXMgZm9yIGNvbXBhcmlzb24gd2l0aCB0aGUgc3ViY2xhc3MKdmFyIGxvY2FsZXMgPSBbInRsaCIsICJpZCIsICJlbiJdOwp2YXIgYSA9IFtuZXcgRGF0ZSgwKSwgRGF0ZS5ub3coKSwgbmV3IERhdGUoRGF0ZS5wYXJzZSgiMTk4OS0xMS0wOVQxNzo1NzowMFoiKSldOwp2YXIgcmVmZXJlbmNlRGF0ZVRpbWVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzKTsKdmFyIHJlZmVyZW5jZUZvcm1hdHRlZCA9IGEubWFwKHJlZmVyZW5jZURhdGVUaW1lRm9ybWF0LmZvcm1hdCk7CgpmdW5jdGlvbiBNeURhdGVUaW1lRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMpIHsKICAgIEludGwuRGF0ZVRpbWVGb3JtYXQuY2FsbCh0aGlzLCBsb2NhbGVzLCBvcHRpb25zKTsKICAgIC8vIGNvdWxkIGluaXRpYWxpemUgTXlEYXRlVGltZUZvcm1hdCBwcm9wZXJ0aWVzCn0KCk15RGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSk7Ck15RGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTXlEYXRlVGltZUZvcm1hdDsKLy8gY291bGQgYWRkIG1ldGhvZHMgdG8gTXlEYXRlVGltZUZvcm1hdC5wcm90b3R5cGUKCnZhciBmb3JtYXQgPSBuZXcgTXlEYXRlVGltZUZvcm1hdChsb2NhbGVzKTsKdmFyIGFjdHVhbCA9IGEubWFwKGZvcm1hdC5mb3JtYXQpOwp0ZXN0QXJyYXlzQXJlU2FtZShyZWZlcmVuY2VGb3JtYXR0ZWQsIGFjdHVhbCk7Cgo=","commentary":"","description":"Tests that Intl.DateTimeFormat can be subclassed.","path":"TestCases/intl402/ch12/12.1/12.1.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG9iamVjdHMgY29uc3RydWN0ZWQgYnkgSW50bC5EYXRlVGltZUZvcm1hdCBoYXZlIHRoZSBzcGVjaWZpZWQgaW50ZXJuYWwgcHJvcGVydGllcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgb2JqID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKTsKCnZhciBhY3R1YWxQcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTsKaWYgKGFjdHVhbFByb3RvdHlwZSAhPT0gSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUpIHsKICAgICRFUlJPUigiUHJvdG90eXBlIG9mIG9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkRhdGVUaW1lRm9ybWF0IGlzbid0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlOyBnb3QgIiArIGFjdHVhbFByb3RvdHlwZSk7Cn0KCmlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSB7CiAgICAkRVJST1IoIk9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkRhdGVUaW1lRm9ybWF0IG11c3QgYmUgZXh0ZW5zaWJsZS4iKTsKfQoK","commentary":"","description":"Tests that objects constructed by Intl.DateTimeFormat have the specified internal properties.","path":"TestCases/intl402/ch12/12.1/12.1.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLkRhdGVUaW1lRm9ybWF0LCB0cnVlLCB0cnVlLCBbInN1cHBvcnRlZExvY2FsZXNPZiJdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.DateTimeFormat\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.1/12.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIGhhcyB0aGUgcmVxdWlyZWQgYXR0cmlidXRlcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdCwgInByb3RvdHlwZSIpOwppZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkLiIpOwp9CmlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIG11c3Qgbm90IGJlIHdyaXRhYmxlLiIpOwp9CmlmIChkZXNjLmVudW1lcmFibGUpIHsKICAgICRFUlJPUigiSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUgbXVzdCBub3QgYmUgZW51bWVyYWJsZS4iKTsKfQppZiAoZGVzYy5jb25maWd1cmFibGUpIHsKICAgICRFUlJPUigiSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUgbXVzdCBub3QgYmUgY29uZmlndXJhYmxlLiIpOwp9Cgo=","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype has the required attributes.","path":"TestCases/intl402/ch12/12.2/12.2.1.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0IGhhcyBhIHN1cHBvcnRlZExvY2FsZXNPZgogKiBwcm9wZXJ0eSwgYW5kIGl0IHdvcmtzIGFzIHBsYW5uZWQuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKdmFyIG5vdFN1cHBvcnRlZCA9ICd6eHgnOyAvLyAibm8gbGluZ3Vpc3RpYyBjb250ZW50Igp2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IFtkZWZhdWx0TG9jYWxlLCBub3RTdXBwb3J0ZWRdOwogICAgCnZhciBzdXBwb3J0ZWRMb2NhbGVzOwoKaWYgKCFJbnRsLkRhdGVUaW1lRm9ybWF0Lmhhc093blByb3BlcnR5KCdzdXBwb3J0ZWRMb2NhbGVzT2YnKSkgewogICAgJEVSUk9SKCJJbnRsLkRhdGVUaW1lRm9ybWF0IGRvZXNuJ3QgaGF2ZSBhIHN1cHBvcnRlZExvY2FsZXNPZiBwcm9wZXJ0eS4iKTsKfQogICAgCnN1cHBvcnRlZExvY2FsZXMgPSBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihyZXF1ZXN0ZWRMb2NhbGVzKTsKaWYgKHN1cHBvcnRlZExvY2FsZXMubGVuZ3RoICE9PSAxKSB7CiAgICAkRVJST1IoJ1RoZSBsZW5ndGggb2Ygc3VwcG9ydGVkIGxvY2FsZXMgbGlzdCBpcyBub3QgMS4nKTsKfQogICAgCmlmIChzdXBwb3J0ZWRMb2NhbGVzWzBdICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAkRVJST1IoJ1RoZSBkZWZhdWx0IGxvY2FsZSBpcyBub3QgcmV0dXJuZWQgaW4gdGhlIHN1cHBvcnRlZCBsaXN0LicpOwp9Cgo=","commentary":"","description":"Tests that Intl.DateTimeFormat has a supportedLocalesOf\nproperty, and it works as planned.","path":"TestCases/intl402/ch12/12.2/12.2.2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5EYXRlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YsIHRydWUsIGZhbHNlLCBbXSwgMSk7Cgo=","commentary":"","description":"Tests that Intl.DateTimeFormat.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.2/12.2.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQgZG9lcyBub3QgYWNjZXB0IFVuaWNvZGUgbG9jYWxlCiAqICAgICBleHRlbnNpb24ga2V5cyBhbmQgdmFsdWVzIHRoYXQgYXJlIG5vdCBhbGxvd2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbImphLUpQIiwgInpoLUhhbnMtQ04iLCAiemgtSGFudC1UVyJdOwp2YXIgaW5wdXQgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKCIxOTg5LTExLTA5VDE3OjU3OjAwWiIpKTsKCmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICB2YXIgZGVmYXVsdERhdGVUaW1lRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoW2xvY2FsZV0pOwogICAgdmFyIGRlZmF1bHRPcHRpb25zID0gZGVmYXVsdERhdGVUaW1lRm9ybWF0LnJlc29sdmVkT3B0aW9ucygpOwogICAgdmFyIGRlZmF1bHRPcHRpb25zSlNPTiA9IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRPcHRpb25zKTsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gZGVmYXVsdE9wdGlvbnMubG9jYWxlOwogICAgdmFyIGRlZmF1bHRGb3JtYXR0ZWQgPSBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQuZm9ybWF0KGlucHV0KTsKCiAgICB2YXIga2V5VmFsdWVzID0gewogICAgICAgICJjdSI6IFsiVVNEIiwgIkVVUiIsICJKUFkiLCAiQ05ZIiwgIlRXRCIsICJpbnZhbGlkIl0sIC8vIERhdGVUaW1lRm9ybWF0IGludGVybmFsbHkgdXNlcyBOdW1iZXJGb3JtYXQKICAgICAgICAibnUiOiBbIm5hdGl2ZSIsICJ0cmFkaXRpbyIsICJmaW5hbmNlIiwgImludmFsaWQiXSwKICAgICAgICAidHoiOiBbInVzbmF2YWpvIiwgInV0Y3cwMSIsICJhdW1lbCIsICJ1c2xheCIsICJ1c255YyIsICJkZWJlciIsICJpbnZhbGlkIl0KICAgIH07CiAgICAKICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGtleVZhbHVlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAga2V5VmFsdWVzW2tleV0uZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICAgICAgdmFyIGRhdGVUaW1lRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoW2xvY2FsZSArICItdS0iICsga2V5ICsgIi0iICsgdmFsdWVdKTsKICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSBkYXRlVGltZUZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKTsKICAgICAgICAgICAgaWYgKG9wdGlvbnMubG9jYWxlICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIkxvY2FsZSAiICsgb3B0aW9ucy5sb2NhbGUgKyAiIGlzIGFmZmVjdGVkIGJ5IGtleSAiICsKICAgICAgICAgICAgICAgIGtleSArICI7IHZhbHVlICIgKyB2YWx1ZSArICIuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICE9PSBkZWZhdWx0T3B0aW9uc0pTT04pIHsKICAgICAgICAgICAgICAgICRFUlJPUigiUmVzb2x2ZWQgb3B0aW9ucyAiICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiIGFyZSBhZmZlY3RlZCBieSBrZXkgIiArCiAgICAgICAgICAgICAgICBrZXkgKyAiOyB2YWx1ZSAiICsgdmFsdWUgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChkZWZhdWx0Rm9ybWF0dGVkICE9PSBkYXRlVGltZUZvcm1hdC5mb3JtYXQoaW5wdXQpKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIkZvcm1hdHRlZCB2YWx1ZSAiICsgZGF0ZVRpbWVGb3JtYXQuZm9ybWF0KGlucHV0KSArICIgaXMgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that Intl.DateTimeFormat does not accept Unicode locale\n extension keys and values that are not allowed.","path":"TestCases/intl402/ch12/12.2/12.2.3_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQgcHJvdmlkZXMgdGhlIHJlcXVpcmVkIGRhdGUtdGltZQogKiAgICAgZm9ybWF0IGNvbXBvbmVudCBzdWJzZXRzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbImRlLURFIiwgImVuLVVTIiwgImhpLUlOIiwgImlkLUlEIiwgImphLUpQIiwgInRoLVRIIiwgInpoLUhhbnMtQ04iLCAiemgtSGFudC1UVyIsICJ6eHgiXTsKdmFyIHN1YnNldHMgPSBbCiAgICB7d2Vla2RheTogImxvbmciLCB5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLAogICAgICAgIGhvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifSwKICAgIHt3ZWVrZGF5OiAibG9uZyIsIHllYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyJ9LAogICAge3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyJ9LAogICAge3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIn0sCiAgICB7bW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyJ9LAogICAge2hvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifSwKICAgIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifQpdOwoKbG9jYWxlcy5mb3JFYWNoKGZ1bmN0aW9uIChsb2NhbGUpIHsKICAgIHN1YnNldHMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2V0KSB7CiAgICAgICAgdmFyIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtsb2NhbGVdLCBzdWJzZXQpOwogICAgICAgIHZhciBhY3R1YWwgPSBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCk7CiAgICAgICAgZ2V0RGF0ZVRpbWVDb21wb25lbnRzKCkuZm9yRWFjaChmdW5jdGlvbiAoY29tcG9uZW50KSB7CiAgICAgICAgICAgIGlmIChhY3R1YWwuaGFzT3duUHJvcGVydHkoY29tcG9uZW50KSkgewogICAgICAgICAgICAgICAgaWYgKCFzdWJzZXQuaGFzT3duUHJvcGVydHkoY29tcG9uZW50KSkgewogICAgICAgICAgICAgICAgICAgICRFUlJPUigiVW5yZXF1ZXN0ZWQgY29tcG9uZW50ICIgKyBjb21wb25lbnQgKwogICAgICAgICAgICAgICAgICAgICAgICAiIGFkZGVkIHRvIHJlcXVlc3RlZCBzdWJzZXQgIiArIEpTT04uc3RyaW5naWZ5KHN1YnNldCkgKwogICAgICAgICAgICAgICAgICAgICAgICAiOyBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIHRlc3RWYWxpZERhdGVUaW1lQ29tcG9uZW50VmFsdWUoY29tcG9uZW50LCBhY3R1YWxbY29tcG9uZW50XSk7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5tZXNzYWdlICs9ICIgKFRlc3RpbmcgbG9jYWxlICIgKyBsb2NhbGUgKyAiOyBzdWJzZXQgIiArCiAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHN1YnNldCkgKyAiKSI7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChzdWJzZXQuaGFzT3duUHJvcGVydHkoY29tcG9uZW50KSkgewogICAgICAgICAgICAgICAgICAgICRFUlJPUigiTWlzc2luZyBjb21wb25lbnQgIiArIGNvbXBvbmVudCArCiAgICAgICAgICAgICAgICAgICAgICAgICIgZnJvbSByZXF1ZXN0ZWQgc3Vic2V0ICIgKyBKU09OLnN0cmluZ2lmeShzdWJzZXQpICsKICAgICAgICAgICAgICAgICAgICAgICAgIjsgbG9jYWxlICIgKyBsb2NhbGUgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that Intl.DateTimeFormat provides the required date-time\n format component subsets.","path":"TestCases/intl402/ch12/12.2/12.2.3_c.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogSW50bC5EYXRlVGltZUZvcm1hdC4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgppZiAoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuRGF0ZVRpbWVGb3JtYXQpIHsKICAgICRFUlJPUigiSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRoZSBzYW1lIGFzICIgKwogICAgICAgICAgIkludGwuRGF0ZVRpbWVGb3JtYXQiKTsKfQoK","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype.constructor is the\nIntl.DateTimeFormat.","path":"TestCases/intl402/ch12/12.3/12.3.1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLmZvcm1hdCwgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that the function returned by Intl.DateTimeFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3.2_1_a_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvcm1hdCBmdW5jdGlvbiBpcyBib3VuZCB0byBpdHMgSW50bC5EYXRlVGltZUZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBkYXRlcyA9IFtuZXcgRGF0ZSgpLCBuZXcgRGF0ZSgwKSwgbmV3IERhdGUoRGF0ZS5wYXJzZSgiMTk4OS0xMS0wOVQxNzo1NzowMFoiKSldOwp2YXIgbG9jYWxlcyA9IFt1bmRlZmluZWQsIFsiZGUiXSwgWyJ0aC11LWNhLWdyZWdvcnktbnUtdGhhaSJdLCBbImVuIl0sIFsiamEtdS1jYS1qYXBhbmVzZSJdLCBbImFyLXUtY2EtaXNsYW1pY2MtbnUtYXJhYiJdXTsKdmFyIG9wdGlvbnMgPSBbCiAgICB1bmRlZmluZWQsCiAgICB7aG91cjEyOiBmYWxzZX0sCiAgICB7bW9udGg6ICJsb25nIiwgZGF5OiAibnVtZXJpYyIsIGhvdXI6ICIyLWRpZ2l0IiwgbWludXRlOiAiMi1kaWdpdCJ9Cl07Cgpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIHZhciBmb3JtYXRPYmogPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzLCBvcHRpb25zKTsKICAgICAgICB2YXIgZm9ybWF0RnVuYyA9IGZvcm1hdE9iai5mb3JtYXQ7CiAgICAgICAgZGF0ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGF0ZSkgewogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0dGVkID0gZm9ybWF0T2JqLmZvcm1hdChkYXRlKTsKICAgICAgICAgICAgdmFyIGZvcm1hdHRlZCA9IGZvcm1hdEZ1bmMoZGF0ZSk7CiAgICAgICAgICAgIGlmIChyZWZlcmVuY2VGb3JtYXR0ZWQgIT09IGZvcm1hdHRlZCkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJmb3JtYXQgZnVuY3Rpb24gcHJvZHVjZXMgZGlmZmVyZW50IHJlc3VsdCB0aGFuIGZvcm1hdCBtZXRob2QgZm9yIGxvY2FsZXMgIiArCiAgICAgICAgICAgICAgICAgICAgbG9jYWxlcyArICI7IG9wdGlvbnM6ICIgKyAob3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogb3B0aW9ucykgKwogICAgICAgICAgICAgICAgICAgICIgOiAiICsgZm9ybWF0dGVkICsgIiB2cy4gIiArIHJlZmVyZW5jZUZvcm1hdHRlZCArICIuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwp9KTsKCg==","commentary":"","description":"Tests that format function is bound to its Intl.DateTimeFormat.","path":"TestCases/intl402/ch12/12.3/12.3.2_1_c.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvcm1hdCBoYW5kbGVzIG5vbi1maW5pdGUgdmFsdWVzIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgaW52YWxpZFZhbHVlcyA9IFtOYU4sIEluZmluaXR5LCAtSW5maW5pdHldOwoKdmFyIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCk7CgppbnZhbGlkVmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICB2YXIgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciByZXN1bHQgPSBmb3JtYXQuZm9ybWF0KHZhbHVlKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBlcnJvciA9IGU7CiAgICB9CiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICRFUlJPUigiSW52YWxpZCB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICRFUlJPUigiSW52YWxpZCB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that format handles non-finite values correctly.","path":"TestCases/intl402/ch12/12.3/12.3.2_FDT_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmZvcm1hdAogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsICJmb3JtYXQiKS5nZXQgLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK","commentary":"","description":"Tests that the getter for Intl.DateTimeFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbIndlZWtkYXkiLCAiZXJhIiwgInllYXIiLCAibW9udGgiLCAiZGF5IiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJpbkRTVCJdKTsKCnZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpOwp2YXIgdGltZSA9IGZvcm1hdC5mb3JtYXQoKTsKCg==","commentary":"","description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.","path":"TestCases/intl402/ch12/12.3/12.3.2_TLT_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zCiAqICAgICBoYXMgdGhlIHJpZ2h0IHByb3BlcnRpZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgYWN0dWFsID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKTsKCnZhciBhY3R1YWwyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKTsKaWYgKGFjdHVhbDIgPT09IGFjdHVhbCkgewogICAgJEVSUk9SKCJyZXNvbHZlZE9wdGlvbnMgcmV0dXJuZWQgdGhlIHNhbWUgb2JqZWN0IHR3aWNlLiIpOwp9CgovLyBzb3VyY2U6IENMRFIgZmlsZSBjb21tb24vYmNwNDcvY2FsZW5kYXIueG1sOyB2ZXJzaW9uIENMRFIgMjEuCnZhciBjYWxlbmRhcnMgPSBbCiAgICAiYnVkZGhpc3QiLAogICAgImNoaW5lc2UiLAogICAgImNvcHRpYyIsCiAgICAiZXRoaW9hYSIsCiAgICAiZXRoaW9waWMiLAogICAgImdyZWdvcnkiLAogICAgImhlYnJldyIsCiAgICAiaW5kaWFuIiwKICAgICJpc2xhbWljIiwKICAgICJpc2xhbWljYyIsCiAgICAiaXNvODYwMSIsCiAgICAiamFwYW5lc2UiLAogICAgInBlcnNpYW4iLAogICAgInJvYyIKXTsKCi8vIHRoaXMgYXNzdW1lcyB0aGUgZGVmYXVsdCB2YWx1ZXMgd2hlcmUgdGhlIHNwZWNpZmljYXRpb24gcHJvdmlkZXMgdGhlbQptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgImxvY2FsZSIsIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcpOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgImNhbGVuZGFyIiwgY2FsZW5kYXJzKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJudW1iZXJpbmdTeXN0ZW0iLCBpc1ZhbGlkTnVtYmVyaW5nU3lzdGVtKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJ0aW1lWm9uZSIsIFt1bmRlZmluZWRdKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJob3VyMTIiLCBbdHJ1ZSwgZmFsc2VdKTsKbXVzdE5vdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJ3ZWVrZGF5Iik7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiZXJhIik7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAieWVhciIsIFsiMi1kaWdpdCIsICJudW1lcmljIl0pOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1vbnRoIiwgWyIyLWRpZ2l0IiwgIm51bWVyaWMiLCAibmFycm93IiwgInNob3J0IiwgImxvbmciXSk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiZGF5IiwgWyIyLWRpZ2l0IiwgIm51bWVyaWMiXSk7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiaG91ciIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1pbnV0ZSIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgInNlY29uZCIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgInRpbWVab25lTmFtZSIpOwoK","commentary":"","description":"Tests that the object returned by Intl.DateTimeFormat.prototype.resolvedOptions\n has the right properties.","path":"TestCases/intl402/ch12/12.3/12.3.3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3.3_L15.js"},{"author":"Roozbeh Pournader","code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSBpcyBhbiBvYmplY3QgdGhhdAogKiBoYXMgYmVlbiBpbml0aWFsaXplZCBhcyBhbiBJbnRsLkRhdGVUaW1lRm9ybWF0LgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCi8vIHRlc3QgYnkgY2FsbGluZyBhIGZ1bmN0aW9uIHRoYXQgd291bGQgZmFpbCBpZiAidGhpcyIgd2VyZSBub3QgYW4gb2JqZWN0Ci8vIGluaXRpYWxpemVkIGFzIGFuIEludGwuRGF0ZVRpbWVGb3JtYXQKaWYgKHR5cGVvZiBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQoMCkgIT09ICJzdHJpbmciKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQncyBwcm90b3R5cGUgaXMgbm90IGFuIG9iamVjdCB0aGF0IGhhcyBiZWVuICIgKwogICAgICAgICJpbml0aWFsaXplZCBhcyBhbiBJbnRsLkRhdGVUaW1lRm9ybWF0Iik7Cn0KCg==","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype is an object that\nhas been initialized as an Intl.DateTimeFormat.","path":"TestCases/intl402/ch12/12.3/12.3_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIGZ1bmN0aW9ucyB0aHJvdyBhCiAqICAgICBUeXBlRXJyb3IgaWYgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCB2YWx1ZSBvciBhbiBvYmplY3QgdGhhdCBoYXNuJ3QgYmVlbgogKiAgICAgaW5pdGlhbGl6ZWQgYXMgYSBEYXRlVGltZUZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZnVuY3Rpb25zID0gewogICAgImZvcm1hdCBnZXR0ZXIiOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCAiZm9ybWF0IikuZ2V0LAogICAgcmVzb2x2ZWRPcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKfTsKdmFyIGludmFsaWRUYXJnZXRzID0gW3VuZGVmaW5lZCwgbnVsbCwgdHJ1ZSwgMCwgIkRhdGVUaW1lRm9ybWF0IiwgW10sIHt9XTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAoZnVuY3Rpb25OYW1lKSB7CiAgICB2YXIgZiA9IGZ1bmN0aW9uc1tmdW5jdGlvbk5hbWVdOwogICAgaW52YWxpZFRhcmdldHMuZm9yRWFjaChmdW5jdGlvbiAodGFyZ2V0KSB7CiAgICAgICAgdmFyIGVycm9yOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGYuY2FsbCh0YXJnZXQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZXJyb3IgPSBlOwogICAgICAgIH0KICAgICAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAkRVJST1IoIkNhbGxpbmcgIiArIGZ1bmN0aW9uTmFtZSArICIgb24gIiArIHRhcmdldCArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2FsbGluZyAiICsgZnVuY3Rpb25OYW1lICsgIiBvbiAiICsgdGFyZ2V0ICsgIiB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype functions throw a\n TypeError if called on a non-object value or an object that hasn't been\n initialized as a DateTimeFormat.","path":"TestCases/intl402/ch12/12.3/12.3_b.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsIGZhbHNlLCBmYWxzZSwgWyJjb25zdHJ1Y3RvciIsICJmb3JtYXQiLCAicmVzb2x2ZWRPcHRpb25zIl0pOwoK","commentary":"","description":"Tests that Intl.DateTimeFormat.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch12/12.3/12.3_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQgaW5zdGFuY2VzIGhhdmUgdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBvYmogPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpOwoKdmFyIHRvU3RyaW5nVmFsdWUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsKaWYgKHRvU3RyaW5nVmFsdWUgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQgaW5zdGFuY2UgcHJvZHVjZXMgd3JvbmcgW1tDbGFzc11dIC0gdG9TdHJpbmcgcmV0dXJucyAiICsgdG9TdHJpbmdWYWx1ZSArICIuIik7Cn0KCg==","commentary":"","description":"Tests that Intl.DateTimeFormat instances have the specified properties.","path":"TestCases/intl402/ch12/12.4/12.4_a.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgcmVqZWN0cyB2YWx1ZXMgdGhhdCBjYW4ndCBiZSBjb2VyY2VkIHRvIGFuIG9iamVjdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgaW52YWxpZFZhbHVlcyA9IFt1bmRlZmluZWQsIG51bGxdOwogCmludmFsaWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5jYWxsKHZhbHVlLCAiIik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBkaWQgbm90IHJlamVjdCB0aGlzID0gIiArIHZhbHVlICsgIi4iKTsKICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSByZWplY3RlZCB0aGlzID0gIiArIHZhbHVlICsgIiB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=","commentary":"","description":"Tests that localeCompare rejects values that can't be coerced to an object.","path":"TestCases/intl402/ch13/13.1/13.1.1_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgY29lcmNlcyB0aGlzIHRvIGEgc3RyaW5nLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciB0aGlzVmFsdWVzID0gW3RydWUsIDUsICJoZWxsbyIsIHt0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gImdvb2QgYnllIjsgfX1dOwp2YXIgdGhhdFZhbHVlcyA9IFsidHJ1ZSIsICI1IiwgImhlbGxvIiwgImdvb2QgYnllIl07Cgp2YXIgaTsKZm9yIChpID0gMDsgaSA8IHRoaXNWYWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBqOwogICAgZm9yIChqID0gMDsgaiA8IHRoYXRWYWx1ZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmNhbGwodGhpc1ZhbHVlc1tpXSwgdGhhdFZhbHVlc1tqXSk7CiAgICAgICAgaWYgKChyZXN1bHQgPT09IDApICE9PSAoaSA9PT0gaikpIHsKICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gMCkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJsb2NhbGVDb21wYXJlIHRyZWF0cyAiICsgdGhpc1ZhbHVlc1tpXSArICIgYW5kICIgKyB0aGF0VmFsdWVzW2pdICsgIiBhcyBlcXVhbC4iKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRFUlJPUigibG9jYWxlQ29tcGFyZSB0cmVhdHMgIiArIHRoaXNWYWx1ZXNbaV0gKyAiIGFuZCAiICsgdGhhdFZhbHVlc1tqXSArICIgYXMgZGlmZmVyZW50LiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgo=","commentary":"","description":"Tests that localeCompare coerces this to a string.","path":"TestCases/intl402/ch13/13.1/13.1.1_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgY29lcmNlcyB0aGF0IHRvIGEgc3RyaW5nLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciB0aGlzVmFsdWVzID0gWyJ0cnVlIiwgIjUiLCAiaGVsbG8iLCAiZ29vZCBieWUiXTsKdmFyIHRoYXRWYWx1ZXMgPSBbdHJ1ZSwgNSwgImhlbGxvIiwge3RvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAiZ29vZCBieWUiOyB9fV07Cgp2YXIgaTsKZm9yIChpID0gMDsgaSA8IHRoaXNWYWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBqOwogICAgZm9yIChqID0gMDsgaiA8IHRoYXRWYWx1ZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmNhbGwodGhpc1ZhbHVlc1tpXSwgdGhhdFZhbHVlc1tqXSk7CiAgICAgICAgaWYgKChyZXN1bHQgPT09IDApICE9PSAoaSA9PT0gaikpIHsKICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gMCkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJsb2NhbGVDb21wYXJlIHRyZWF0cyAiICsgdGhpc1ZhbHVlc1tpXSArICIgYW5kICIgKyB0aGF0VmFsdWVzW2pdICsgIiBhcyBlcXVhbC4iKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRFUlJPUigibG9jYWxlQ29tcGFyZSB0cmVhdHMgIiArIHRoaXNWYWx1ZXNbaV0gKyAiIGFuZCAiICsgdGhhdFZhbHVlc1tqXSArICIgYXMgZGlmZmVyZW50LiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgo=","commentary":"","description":"Tests that localeCompare coerces that to a string.","path":"TestCases/intl402/ch13/13.1/13.1.1_3.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB0aHJvd3MgdGhlIHNhbWUgZXhjZXB0aW9ucyBhcyBJbnRsLkNvbGxhdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBsb2NhbGVzID0gW251bGwsIFtOYU5dLCBbImkiXSwgWyJkZV9ERSJdXTsKdmFyIG9wdGlvbnMgPSBbCiAgICB7bG9jYWxlTWF0Y2hlcjogbnVsbH0sCiAgICB7dXNhZ2U6ICJpbnZhbGlkIn0sCiAgICB7c2Vuc2l0aXZpdHk6ICJpbnZhbGlkIn0KXTsKCmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlcykgewogICAgdmFyIHJlZmVyZW5jZUVycm9yLCBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IobG9jYWxlcyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmVmZXJlbmNlRXJyb3IgPSBlOwogICAgfQogICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIkludGVybmFsIGVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24gd2FzIG5vdCB0aHJvd24gYnkgSW50bC5Db2xsYXRvciBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICIuIik7CiAgICB9CiAgICAKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9ICIiLmxvY2FsZUNvbXBhcmUoIiIsIGxvY2FsZXMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICIuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09IHJlZmVyZW5jZUVycm9yLm5hbWUpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB0aHJldyBleGNlcHRpb24gIiArIGVycm9yLm5hbWUgKwogICAgICAgICAgICAiIGZvciBsb2NhbGVzICIgKyBsb2NhbGVzICsgIjsgZXhwZWN0ZWQgIiArIHJlZmVyZW5jZUVycm9yLm5hbWUgKyAiLiIpOwogICAgfQp9KTsKCm9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgdmFyIHJlZmVyZW5jZUVycm9yLCBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoW10sIG9wdGlvbnMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgIH0KICAgIGlmIChyZWZlcmVuY2VFcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuQ29sbGF0b3IgZm9yIG9wdGlvbnMgIiArCiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICsgIi4iKTsKICAgIH0KICAgIAogICAgdHJ5IHsKICAgICAgICB2YXIgcmVzdWx0ID0gIiIubG9jYWxlQ29tcGFyZSgiIiwgW10sIG9wdGlvbnMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3Igb3B0aW9ucyAiICsKICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSByZWZlcmVuY2VFcnJvci5uYW1lKSB7CiAgICAgICAgJEVSUk9SKCJTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgdGhyZXcgZXhjZXB0aW9uICIgKyBlcnJvci5uYW1lICsKICAgICAgICAgICAgIiBmb3Igb3B0aW9ucyAiICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiOyBleHBlY3RlZCAiICsgcmVmZXJlbmNlRXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0pOwoK","commentary":"","description":"Tests that String.prototype.localeCompare throws the same exceptions as Intl.Collator.","path":"TestCases/intl402/ch13/13.1/13.1.1_6.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgcHJvZHVjZXMgdGhlIHNhbWUgcmVzdWx0cyBhcyBJbnRsLkNvbGxhdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIHN0cmluZ3MgPSBbImQiLCAiTyIsICJvZCIsICJvZSIsICJvZiIsICLDtiIsICJvXHUwMzA4IiwgIlgiLCAieSIsICJaIiwgIlouIiwgIlx1RDg0Mlx1REZCN+mHjuWutiIsICLlkInph47lrrYiLCAiIUEiLCAiQSIsICJiIiwgIkMiXTsKdmFyIGxvY2FsZXMgPSBbdW5kZWZpbmVkLCBbImRlIl0sIFsiZGUtdS1jby1waG9uZWJrIl0sIFsiZW4iXSwgWyJqYSJdLCBbInN2Il1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHVuZGVmaW5lZCwKICAgIHt1c2FnZTogInNlYXJjaCJ9LAogICAge3NlbnNpdGl2aXR5OiAiYmFzZSIsIGlnbm9yZVB1bmN0dWF0aW9uOiB0cnVlfQpdOwoKbG9jYWxlcy5mb3JFYWNoKGZ1bmN0aW9uIChsb2NhbGVzKSB7CiAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICB2YXIgcmVmZXJlbmNlQ29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihsb2NhbGVzLCBvcHRpb25zKTsKICAgICAgICB2YXIgcmVmZXJlbmNlU29ydGVkID0gc3RyaW5ncy5zbGljZSgpLnNvcnQocmVmZXJlbmNlQ29sbGF0b3IuY29tcGFyZSk7CiAgICAgICAgCiAgICAgICAgc3RyaW5ncy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYiwgbG9jYWxlcywgb3B0aW9ucyk7IH0pOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHRlc3RBcnJheXNBcmVTYW1lKHJlZmVyZW5jZVNvcnRlZCwgc3RyaW5ncyk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlLm1lc3NhZ2UgKz0gIiAoVGVzdGluZyB3aXRoIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiOyBvcHRpb25zICIgKyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSArICIuKSI7CiAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgfQogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that localeCompare produces the same results as Intl.Collator.","path":"TestCases/intl402/ch13/13.1/13.1.1_7.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZQogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSwgdHJ1ZSwgZmFsc2UsIFtdLCAxKTsKCg==","commentary":"","description":"Tests that String.prototype.localeCompare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.1/13.1.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRvTG9jYWxlU3RyaW5nIGhhbmRsZXMgInRoaXMgTnVtYmVyIHZhbHVlIiBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGludmFsaWRWYWx1ZXMgPSBbdW5kZWZpbmVkLCBudWxsLCAiNSIsIGZhbHNlLCB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gNTsgfX1dOwp2YXIgdmFsaWRWYWx1ZXMgPSBbNSwgTmFOLCAtMTIzNDU2Ny44OSwgLUluZmluaXR5XTsKCmludmFsaWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuY2FsbCh2YWx1ZSk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgZGlkIG5vdCByZWplY3QgdGhpcyA9ICIgKyB2YWx1ZSArICIuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIHJlamVjdGVkIHRoaXMgPSAiICsgdmFsdWUgKyAiIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgfQp9KTsKCi8vIGZvciB2YWxpZCB2YWx1ZXMsIGp1c3QgY2hlY2sgdGhhdCBhIE51bWJlciB2YWx1ZSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcKLy8gTnVtYmVyIG9iamVjdCBnZXQgdGhlIHNhbWUgcmVzdWx0Lgp2YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgdmFyIENvbnN0cnVjdG9yID0gTnVtYmVyOyAvLyB0byBrZWVwIGpzaGludCBoYXBweQogICAgdmFyIHZhbHVlUmVzdWx0ID0gTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHZhbHVlKTsKICAgIHZhciBvYmplY3RSZXN1bHQgPSBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwobmV3IENvbnN0cnVjdG9yKHZhbHVlKSk7CiAgICBpZiAodmFsdWVSZXN1bHQgIT09IG9iamVjdFJlc3VsdCkgewogICAgICAgICRFUlJPUigiTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBwcm9kdWNlcyBkaWZmZXJlbnQgcmVzdWx0cyBmb3IgTnVtYmVyIHZhbHVlICIgKwogICAgICAgICAgICB2YWx1ZSArICIgYW5kIGNvcnJlc3BvbmRpbmcgTnVtYmVyIG9iamVjdDogIiArIHZhbHVlUmVzdWx0ICsgIiB2cy4gIiArIG9iamVjdFJlc3VsdCArICIuIik7CiAgICB9Cn0pOwoK","commentary":"","description":"Tests that toLocaleString handles \"this Number value\" correctly.","path":"TestCases/intl402/ch13/13.2/13.2.1_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgdGhyb3dzIHRoZSBzYW1lIGV4Y2VwdGlvbnMgYXMgSW50bC5OdW1iZXJGb3JtYXQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGxvY2FsZXMgPSBbbnVsbCwgW05hTl0sIFsiaSJdLCBbImRlX0RFIl1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHtsb2NhbGVNYXRjaGVyOiBudWxsfSwKICAgIHtzdHlsZTogImludmFsaWQifSwKICAgIHtzdHlsZTogImN1cnJlbmN5In0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiw59QIn0sCiAgICB7bWF4aW11bVNpZ25pZmljYW50RGlnaXRzOiAtSW5maW5pdHl9Cl07Cgpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgIHZhciByZWZlcmVuY2VFcnJvciwgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlcyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmVmZXJlbmNlRXJyb3IgPSBlOwogICAgfQogICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIkludGVybmFsIGVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24gd2FzIG5vdCB0aHJvd24gYnkgSW50bC5OdW1iZXJGb3JtYXQgZm9yIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiLiIpOwogICAgfQogICAgCiAgICB0cnkgewogICAgICAgIHZhciByZXN1bHQgPSAoMCkudG9Mb2NhbGVTdHJpbmcobG9jYWxlcyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICIuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09IHJlZmVyZW5jZUVycm9yLm5hbWUpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgdGhyZXcgZXhjZXB0aW9uICIgKyBlcnJvci5uYW1lICsKICAgICAgICAgICAgIiBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICI7IGV4cGVjdGVkICIgKyByZWZlcmVuY2VFcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7CgpvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgIHZhciByZWZlcmVuY2VFcnJvciwgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW10sIG9wdGlvbnMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgIH0KICAgIGlmIChyZWZlcmVuY2VFcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuTnVtYmVyRm9ybWF0IGZvciBvcHRpb25zICIgKwogICAgICAgICAgICBKU09OLnN0cmluZ2lmeShvcHRpb25zKSArICIuIik7CiAgICB9CiAgICAKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9ICgwKS50b0xvY2FsZVN0cmluZyhbXSwgb3B0aW9ucyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3Igb3B0aW9ucyAiICsKICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSByZWZlcmVuY2VFcnJvci5uYW1lKSB7CiAgICAgICAgJEVSUk9SKCJOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIHRocmV3IGV4Y2VwdGlvbiAiICsgZXJyb3IubmFtZSArCiAgICAgICAgICAgICIgZm9yIG9wdGlvbnMgIiArIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICsgIjsgZXhwZWN0ZWQgIiArIHJlZmVyZW5jZUVycm9yLm5hbWUgKyAiLiIpOwogICAgfQp9KTsKCg==","commentary":"","description":"Tests that Number.prototype.toLocaleString throws the same exceptions as Intl.NumberFormat.","path":"TestCases/intl402/ch13/13.2/13.2.1_4.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvZHVjZXMgdGhlIHNhbWUgcmVzdWx0cyBhcyBJbnRsLk51bWJlckZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBudW1iZXJzID0gWzAsIC0wLCAxLCAtMSwgNS41LCAxMjMsIC0xMjMsIC0xMjMuNDUsIDEyMy40NDUwMSwgMC4wMDEyMzQsCiAgICAtMC4wMDAwMDAwMDEyMywgMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMywgMS4yLCAwLjAwMDAwMDAwMTIzNDQ1MDEsCiAgICAxMjM0NDUuMDEsIDEyMzQ0NTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTIzNDQ1MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsCiAgICBJbmZpbml0eSwgLUluZmluaXR5LCBOYU5dOwp2YXIgbG9jYWxlcyA9IFt1bmRlZmluZWQsIFsiZGUiXSwgWyJ0aC11LW51LXRoYWkiXSwgWyJlbiJdLCBbImphLXUtbnUtanBhbmZpbiJdLCBbImFyLXUtbnUtYXJhYiJdXTsKdmFyIG9wdGlvbnMgPSBbCiAgICB1bmRlZmluZWQsCiAgICB7c3R5bGU6ICJwZXJjZW50In0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiRVVSIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiSVFEIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiS01GIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiQ0xGIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7dXNlR3JvdXBpbmc6IGZhbHNlLCBtaW5pbXVtSW50ZWdlckRpZ2l0czogMywgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAxLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDN9Cl07Cgpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIHZhciByZWZlcmVuY2VOdW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlcywgb3B0aW9ucyk7CiAgICAgICAgdmFyIHJlZmVyZW5jZUZvcm1hdHRlZCA9IG51bWJlcnMubWFwKHJlZmVyZW5jZU51bWJlckZvcm1hdC5mb3JtYXQpOwogICAgICAgIAogICAgICAgIHZhciBmb3JtYXR0ZWQgPSBudW1iZXJzLm1hcChmdW5jdGlvbiAoYSkgeyByZXR1cm4gYS50b0xvY2FsZVN0cmluZyhsb2NhbGVzLCBvcHRpb25zKTsgfSk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdGVzdEFycmF5c0FyZVNhbWUocmVmZXJlbmNlRm9ybWF0dGVkLCBmb3JtYXR0ZWQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZS5tZXNzYWdlICs9ICIgKFRlc3Rpbmcgd2l0aCBsb2NhbGVzICIgKyBsb2NhbGVzICsgIjsgb3B0aW9ucyAiICsKICAgICAgICAgICAgKG9wdGlvbnMgPyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSA6IG9wdGlvbnMpICsgIi4pIjsKICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that Number.prototype.toLocaleString produces the same results as Intl.NumberFormat.","path":"TestCases/intl402/ch13/13.2/13.2.1_5.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK","commentary":"","description":"Tests that Number.prototype.toLocaleString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.2/13.2.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIGhhbmRsZSAidGhpcyB0aW1lIHZhbHVlIiBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGZ1bmN0aW9ucyA9IHsKICAgIHRvTG9jYWxlU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZywKICAgIHRvTG9jYWxlRGF0ZVN0cmluZzogRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgdG9Mb2NhbGVUaW1lU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcKfTsKdmFyIGludmFsaWRWYWx1ZXMgPSBbdW5kZWZpbmVkLCBudWxsLCA1LCAiNSIsIGZhbHNlLCB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gNTsgfX1dOwoKT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZnVuY3Rpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChwKSB7CiAgICB2YXIgZiA9IGZ1bmN0aW9uc1twXTsKICAgIGludmFsaWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGYuY2FsbCh2YWx1ZSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiRGF0ZS5wcm90b3R5cGUuIiArIHAgKyAiIGRpZCBub3QgcmVqZWN0IHRoaXMgPSAiICsgdmFsdWUgKyAiLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJEYXRlLnByb3RvdHlwZS4iICsgcCArICIgcmVqZWN0ZWQgdGhpcyA9ICIgKyB2YWx1ZSArICIgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that Date.prototype.toLocaleString & Co. handle \"this time value\" correctly.","path":"TestCases/intl402/ch13/13.3/13.3.0_1.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIGhhbmRsZSBub24tZmluaXRlIHZhbHVlcyBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGZ1bmN0aW9ucyA9IHsKICAgIHRvTG9jYWxlU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZywKICAgIHRvTG9jYWxlRGF0ZVN0cmluZzogRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgdG9Mb2NhbGVUaW1lU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcKfTsKdmFyIGludmFsaWRWYWx1ZXMgPSBbTmFOLCBJbmZpbml0eSwgLUluZmluaXR5XTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgdmFyIGYgPSBmdW5jdGlvbnNbcF07CiAgICBpbnZhbGlkVmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGYuY2FsbChuZXcgRGF0ZSh2YWx1ZSkpOwogICAgICAgIGlmIChyZXN1bHQgIT09ICJJbnZhbGlkIERhdGUiKSB7CiAgICAgICAgICAgICRFUlJPUigiRGF0ZS5wcm90b3R5cGUuIiArIHAgKyAiIGRpZCBub3QgcmV0dXJuIFwiSW52YWxpZCBEYXRlXCIgZm9yICIgKwogICAgICAgICAgICAgICAgdmFsdWUgKyAiIOKAkyBnb3QgIiArIHJlc3VsdCArICIgaW5zdGVhZC4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that Date.prototype.toLocaleString & Co. handle non-finite values correctly.","path":"TestCases/intl402/ch13/13.3/13.3.0_2.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIHRocm93cyB0aGUgc2FtZSBleGNlcHRpb25zIGFzIEludGwuRGF0ZVRpbWVGb3JtYXQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGZ1bmN0aW9ucyA9IHsKICAgIHRvTG9jYWxlU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZywKICAgIHRvTG9jYWxlRGF0ZVN0cmluZzogRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgdG9Mb2NhbGVUaW1lU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcKfTsKdmFyIGxvY2FsZXMgPSBbbnVsbCwgW05hTl0sIFsiaSJdLCBbImRlX0RFIl1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHtsb2NhbGVNYXRjaGVyOiBudWxsfSwKICAgIHt0aW1lWm9uZTogImludmFsaWQifSwKICAgIHtob3VyOiAibG9uZyJ9LAogICAge2Zvcm1hdE1hdGNoZXI6ICJpbnZhbGlkIn0KXTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgdmFyIGYgPSBmdW5jdGlvbnNbcF07CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICB2YXIgcmVmZXJlbmNlRXJyb3IsIGVycm9yOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuRGF0ZVRpbWVGb3JtYXQgZm9yIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiLiIpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gZi5jYWxsKG5ldyBEYXRlKCksIGxvY2FsZXMpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZXJyb3IgPSBlOwogICAgICAgIH0KICAgICAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAkRVJST1IoIkRhdGUucHJvdG90eXBlLiIgKyBwICsgIiBkaWRuJ3QgdGhyb3cgZXhjZXB0aW9uIGZvciBsb2NhbGVzICIgKyBsb2NhbGVzICsgIi4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09IHJlZmVyZW5jZUVycm9yLm5hbWUpIHsKICAgICAgICAgICAgJEVSUk9SKCJEYXRlLnByb3RvdHlwZS4iICsgcCArICIgdGhyZXcgZXhjZXB0aW9uICIgKyBlcnJvci5uYW1lICsKICAgICAgICAgICAgICAgICIgZm9yIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiOyBleHBlY3RlZCAiICsgcmVmZXJlbmNlRXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIHZhciByZWZlcmVuY2VFcnJvciwgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtdLCBvcHRpb25zKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuRGF0ZVRpbWVGb3JtYXQgZm9yIG9wdGlvbnMgIiArCiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShvcHRpb25zKSArICIuIik7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBmLmNhbGwobmV3IERhdGUoKSwgW10sIG9wdGlvbnMpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZXJyb3IgPSBlOwogICAgICAgIH0KICAgICAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAkRVJST1IoIkRhdGUucHJvdG90eXBlLiIgKyBwICsgIiBkaWRuJ3QgdGhyb3cgZXhjZXB0aW9uIGZvciBvcHRpb25zICIgKwogICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gcmVmZXJlbmNlRXJyb3IubmFtZSkgewogICAgICAgICAgICAkRVJST1IoIkRhdGUucHJvdG90eXBlLiIgKyBwICsgIiB0aHJldyBleGNlcHRpb24gIiArIGVycm9yLm5hbWUgKwogICAgICAgICAgICAgICAgIiBmb3Igb3B0aW9ucyAiICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiOyBleHBlY3RlZCAiICsgcmVmZXJlbmNlRXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7Cn0pOwoK","commentary":"","description":"Tests that Date.prototype.toLocaleString & Co. throws the same exceptions as Intl.DateTimeFormat.","path":"TestCases/intl402/ch13/13.3/13.3.0_6.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIHByb2R1Y2VzIHRoZSBzYW1lIHJlc3VsdHMgYXMgSW50bC5EYXRlVGltZUZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBmdW5jdGlvbnMgPSB7CiAgICB0b0xvY2FsZVN0cmluZzogW0RhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLAogICAgICAgIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLCBob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMiLCBzZWNvbmQ6ICJudW1lcmljIn1dLAogICAgdG9Mb2NhbGVEYXRlU3RyaW5nOiBbRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgICAgIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifV0sCiAgICB0b0xvY2FsZVRpbWVTdHJpbmc6IFtEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcsCiAgICAgICAge2hvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifV0KfTsKdmFyIGRhdGVzID0gW25ldyBEYXRlKCksIG5ldyBEYXRlKDApLCBuZXcgRGF0ZShEYXRlLnBhcnNlKCIxOTg5LTExLTA5VDE3OjU3OjAwWiIpKV07CnZhciBsb2NhbGVzID0gW3VuZGVmaW5lZCwgWyJkZSJdLCBbInRoLXUtY2EtZ3JlZ29yeS1udS10aGFpIl0sIFsiZW4iXSwgWyJqYS11LWNhLWphcGFuZXNlIl0sIFsiYXItdS1jYS1pc2xhbWljYy1udS1hcmFiIl1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHVuZGVmaW5lZCwKICAgIHtob3VyMTI6IGZhbHNlfSwKICAgIHttb250aDogImxvbmciLCBkYXk6ICJudW1lcmljIiwgaG91cjogIjItZGlnaXQiLCBtaW51dGU6ICIyLWRpZ2l0In0KXTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgdmFyIGYgPSBmdW5jdGlvbnNbcF1bMF07CiAgICB2YXIgZGVmYXVsdHMgPSBmdW5jdGlvbnNbcF1bMV07CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICAgICAgdmFyIGNvbnN0cnVjdG9yT3B0aW9ucyA9IG9wdGlvbnM7CiAgICAgICAgICAgIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yT3B0aW9ucyA9IGRlZmF1bHRzOwogICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuZGF5ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIC8vIGZvciBzaW1wbGljaXR5LCBvdXIgb3B0aW9ucyBhYm92ZSBoYXZlIGVpdGhlciBib3RoIGRhdGUgYW5kIHRpbWUgb3IgbmVpdGhlcgogICAgICAgICAgICAgICAgY29uc3RydWN0b3JPcHRpb25zID0gT2JqZWN0LmNyZWF0ZShkZWZhdWx0cyk7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgICAgICAgICAgICAgICBjb25zdHJ1Y3Rvck9wdGlvbnNbcHJvcF0gPSBvcHRpb25zW3Byb3BdOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRGF0ZVRpbWVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzLCBjb25zdHJ1Y3Rvck9wdGlvbnMpOwogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0dGVkID0gZGF0ZXMubWFwKHJlZmVyZW5jZURhdGVUaW1lRm9ybWF0LmZvcm1hdCk7CiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgZm9ybWF0dGVkID0gZGF0ZXMubWFwKGZ1bmN0aW9uIChhKSB7IHJldHVybiBmLmNhbGwoYSwgbG9jYWxlcywgb3B0aW9ucyk7IH0pOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgdGVzdEFycmF5c0FyZVNhbWUocmVmZXJlbmNlRm9ybWF0dGVkLCBmb3JtYXR0ZWQpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICBlLm1lc3NhZ2UgKz0gIiAoVGVzdGluZyB3aXRoIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiOyBvcHRpb25zICIgKwogICAgICAgICAgICAgICAgICAgIChvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiBvcHRpb25zKSArICIuKSI7CiAgICAgICAgICAgICAgICB0aHJvdyBlOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSk7Cgo=","commentary":"","description":"Tests that Date.prototype.toLocaleString & Co. produces the same results as Intl.DateTimeFormat.","path":"TestCases/intl402/ch13/13.3/13.3.0_7.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=","commentary":"","description":"Tests that Date.prototype.toLocaleString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.3/13.3.1_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Date.prototype.toLocaleDateString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.3/13.3.2_L15.js"},{"author":"Norbert Lindenberg","code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==","commentary":"","description":"Tests that Date.prototype.toLocaleTimeString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.","path":"TestCases/intl402/ch13/13.3/13.3.3_L15.js"}]}} \ No newline at end of file
diff --git a/website/json/testcases_intl402.json b/website/json/testcases_intl402.json
index 187a04bb6..0924e9e74 100644
--- a/website/json/testcases_intl402.json
+++ b/website/json/testcases_intl402.json
@@ -1 +1 @@
-{"numTests":66,"testSuite":["json/intl402.json"]} \ No newline at end of file
+{"numTests":137,"testSuite":["json/intl402.json"]} \ No newline at end of file