diff options
Diffstat (limited to 'js/src/tests/non262/Symbol/surfaces.js')
-rw-r--r-- | js/src/tests/non262/Symbol/surfaces.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/non262/Symbol/surfaces.js b/js/src/tests/non262/Symbol/surfaces.js new file mode 100644 index 0000000000..7b3ef9f9b2 --- /dev/null +++ b/js/src/tests/non262/Symbol/surfaces.js @@ -0,0 +1,34 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ */ + +// Test superficial properties of the Symbol constructor and prototype. + +var desc = Object.getOwnPropertyDescriptor(this, "Symbol"); +assertEq(desc.configurable, true); +assertEq(desc.enumerable, false); +assertEq(desc.writable, true); +assertEq(typeof Symbol, "function"); +assertEq(Symbol.length, 0); + +desc = Object.getOwnPropertyDescriptor(Symbol, "prototype"); +assertEq(desc.configurable, false); +assertEq(desc.enumerable, false); +assertEq(desc.writable, false); + +assertEq(Symbol.prototype.constructor, Symbol); +desc = Object.getOwnPropertyDescriptor(Symbol.prototype, "constructor"); +assertEq(desc.configurable, true); +assertEq(desc.enumerable, false); +assertEq(desc.writable, true); + +desc = Object.getOwnPropertyDescriptor(Symbol, "iterator"); +assertEq(desc.configurable, false); +assertEq(desc.enumerable, false); +assertEq(desc.writable, false); + +assertEq(Symbol.for.length, 1); +assertEq(Symbol.prototype.toString.length, 0); +assertEq(Symbol.prototype.valueOf.length, 0); + +if (typeof reportCompare === "function") + reportCompare(0, 0); |