/* * 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);