diff options
Diffstat (limited to 'js/src/tests/test262/intl402/Locale/subclassing.js')
-rw-r--r-- | js/src/tests/test262/intl402/Locale/subclassing.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/Locale/subclassing.js b/js/src/tests/test262/intl402/Locale/subclassing.js new file mode 100644 index 0000000000..4afc3a5a83 --- /dev/null +++ b/js/src/tests/test262/intl402/Locale/subclassing.js @@ -0,0 +1,28 @@ +// Copyright 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-Intl.Locale +description: Checks that Locale can be subclassed. +info: | + Intl.Locale( tag [, options] ) + + 6. Let locale be ? OrdinaryCreateFromConstructor(NewTarget, %LocalePrototype%, internalSlotsList). + +features: [Intl.Locale] +---*/ + +class CustomLocale extends Intl.Locale { + constructor(locales, options) { + super(locales, options); + this.isCustom = true; + } +} + +var locale = new CustomLocale("de"); +assert.sameValue(locale.isCustom, true, "Custom property"); +assert.sameValue(locale.toString(), "de", "Direct call"); +assert.sameValue(Intl.Locale.prototype.toString.call(locale), "de", "Indirect call"); +assert.sameValue(Object.getPrototypeOf(locale), CustomLocale.prototype, "Prototype"); + +reportCompare(0, 0); |