diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/tests/test262/built-ins/Symbol/species | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/built-ins/Symbol/species')
6 files changed, 77 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Symbol/species/basic.js b/js/src/tests/test262/built-ins/Symbol/species/basic.js new file mode 100644 index 0000000000..cb6e400e02 --- /dev/null +++ b/js/src/tests/test262/built-ins/Symbol/species/basic.js @@ -0,0 +1,21 @@ +// Copyright 2015 Cubane Canada, Inc. All rights reserved. +// See LICENSE for details. + +/*--- +info: | + Symbol.species is a well-known symbol +es6id: 19.4.2.10 +author: Sam Mikes +description: Symbol.species exists +includes: [propertyHelper.js] +features: [Symbol.species] +---*/ + +assert(Symbol !== undefined, "Symbol exists"); +assert(Symbol.species !== undefined, "Symbol.species exists"); + +verifyNotWritable(Symbol, "species"); +verifyNotEnumerable(Symbol, "species"); +verifyNotConfigurable(Symbol, "species"); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/Symbol/species/browser.js b/js/src/tests/test262/built-ins/Symbol/species/browser.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/Symbol/species/browser.js diff --git a/js/src/tests/test262/built-ins/Symbol/species/builtin-getter-name.js b/js/src/tests/test262/built-ins/Symbol/species/builtin-getter-name.js new file mode 100644 index 0000000000..265aea7850 --- /dev/null +++ b/js/src/tests/test262/built-ins/Symbol/species/builtin-getter-name.js @@ -0,0 +1,24 @@ +// Copyright 2015 Cubane Canada, Inc. All rights reserved. +// See LICENSE for details. + +/*--- +info: | + ES6 spec 'get [Symbol.species]' +es6id: 21.2.4.2, 22.1.2.5, 22.2.2.4, 23.1.2.2, 23.2.2.2 +author: Sam Mikes +description: Symbol.species getters have defined names +features: [Symbol.species] +---*/ + +function getGetterName(obj, name) { + var getter = Object.getOwnPropertyDescriptor(obj, Symbol.species).get; + return getter && getter.name; +} + +assert.sameValue(getGetterName(Array, Symbol.species), "get [Symbol.species]"); +assert.sameValue(getGetterName(Map, Symbol.species), "get [Symbol.species]"); +assert.sameValue(getGetterName(Promise, Symbol.species), "get [Symbol.species]"); +assert.sameValue(getGetterName(RegExp, Symbol.species), "get [Symbol.species]"); +assert.sameValue(getGetterName(Set, Symbol.species), "get [Symbol.species]"); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/Symbol/species/cross-realm.js b/js/src/tests/test262/built-ins/Symbol/species/cross-realm.js new file mode 100644 index 0000000000..631047c91a --- /dev/null +++ b/js/src/tests/test262/built-ins/Symbol/species/cross-realm.js @@ -0,0 +1,16 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-symbol.species +description: Value shared by all realms +info: | + Unless otherwise specified, well-known symbols values are shared by all + realms. +features: [cross-realm, Symbol.species] +---*/ + +var OSymbol = $262.createRealm().global.Symbol; + +assert.sameValue(Symbol.species, OSymbol.species); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/Symbol/species/shell.js b/js/src/tests/test262/built-ins/Symbol/species/shell.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/built-ins/Symbol/species/shell.js diff --git a/js/src/tests/test262/built-ins/Symbol/species/subclassing.js b/js/src/tests/test262/built-ins/Symbol/species/subclassing.js new file mode 100644 index 0000000000..45aceb514d --- /dev/null +++ b/js/src/tests/test262/built-ins/Symbol/species/subclassing.js @@ -0,0 +1,16 @@ +// Copyright 2015 Cubane Canada, Inc. All rights reserved. +// See LICENSE for details. + +/*--- +info: | + Symbol.species is retained on subclassing +author: Sam Mikes +description: Symbol.species is retained on subclassing +features: [Symbol.species] +---*/ + +class MyRegExp extends RegExp {}; + +assert.sameValue(MyRegExp[Symbol.species], MyRegExp); + +reportCompare(0, 0); |