diff options
Diffstat (limited to 'js/src/tests/non262/Intl/fallback-symbol.js')
-rw-r--r-- | js/src/tests/non262/Intl/fallback-symbol.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/tests/non262/Intl/fallback-symbol.js b/js/src/tests/non262/Intl/fallback-symbol.js new file mode 100644 index 0000000000..87943257ce --- /dev/null +++ b/js/src/tests/non262/Intl/fallback-symbol.js @@ -0,0 +1,22 @@ +// |reftest| skip-if(!this.hasOwnProperty('Intl')) + +function IntlFallbackSymbol(constructor) { + return Object.getOwnPropertySymbols(constructor.call(Object.create(constructor.prototype)))[0]; +} + +const dateTimeFormatIntlFallbackSymbol = IntlFallbackSymbol(Intl.DateTimeFormat); +const numberFormatIntlFallbackSymbol = IntlFallbackSymbol(Intl.NumberFormat); + +// Intl.DateTimeFormat and Intl.NumberFormat both use the same fallback symbol. +assertEq(dateTimeFormatIntlFallbackSymbol, numberFormatIntlFallbackSymbol); + +const intlFallbackSymbol = dateTimeFormatIntlFallbackSymbol; + +// The fallback symbol is a Symbol value. +assertEq(typeof intlFallbackSymbol, "symbol"); + +// Test the description of the fallback symbol. +assertEq(Symbol.prototype.toString.call(intlFallbackSymbol), "Symbol(IntlLegacyConstructedSymbol)"); + +if (typeof reportCompare === "function") + reportCompare(true, true); |