diff options
Diffstat (limited to 'js/src/tests/non262/object/getOwnPropertyDescriptor.js')
-rw-r--r-- | js/src/tests/non262/object/getOwnPropertyDescriptor.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/js/src/tests/non262/object/getOwnPropertyDescriptor.js b/js/src/tests/non262/object/getOwnPropertyDescriptor.js new file mode 100644 index 0000000000..7aaba7b5ee --- /dev/null +++ b/js/src/tests/non262/object/getOwnPropertyDescriptor.js @@ -0,0 +1,35 @@ +/* + * Any copyright is dedicated to the Public Domain. + * https://creativecommons.org/publicdomain/zero/1.0/ + */ + +var BUGNUMBER = 1079188; +var summary = "Coerce the argument passed to Object.getOwnPropertyDescriptor using ToObject"; +print(BUGNUMBER + ": " + summary); + +assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(), TypeError); +assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(undefined), TypeError); +assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(null), TypeError); + +Object.getOwnPropertyDescriptor(1); +Object.getOwnPropertyDescriptor(true); +if (typeof Symbol === "function") { + Object.getOwnPropertyDescriptor(Symbol("foo")); +} + +assertDeepEq(Object.getOwnPropertyDescriptor("foo", "length"), { + value: 3, + writable: false, + enumerable: false, + configurable: false +}); + +assertDeepEq(Object.getOwnPropertyDescriptor("foo", 0), { + value: "f", + writable: false, + enumerable: true, + configurable: false +}); + +if (typeof reportCompare === "function") + reportCompare(true, true); |