Verify the various properties of Array.prototype[@@unscopables]

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS typeof Array.prototype[Symbol.unscopables] is "object"
PASS Object.getPrototypeOf(Array.prototype[Symbol.unscopables]) is null
PASS Object.getOwnPropertyDescriptor(Array.prototype, Symbol.unscopables).writable is false
PASS Object.getOwnPropertyDescriptor(Array.prototype, Symbol.unscopables).enumerable is false
PASS Object.getOwnPropertyDescriptor(Array.prototype, Symbol.unscopables).configurable is true
PASS Object.getOwnPropertyNames(Array.prototype[Symbol.unscopables]) is expectedEntries
PASS Object.getOwnPropertySymbols(Array.prototype[Symbol.unscopables]) is []
PASS Array.prototype[Symbol.unscopables]["copyWithin"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "copyWithin").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "copyWithin").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "copyWithin").configurable is true
PASS Array.prototype[Symbol.unscopables]["entries"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "entries").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "entries").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "entries").configurable is true
PASS Array.prototype[Symbol.unscopables]["fill"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "fill").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "fill").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "fill").configurable is true
PASS Array.prototype[Symbol.unscopables]["find"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "find").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "find").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "find").configurable is true
PASS Array.prototype[Symbol.unscopables]["findIndex"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "findIndex").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "findIndex").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "findIndex").configurable is true
PASS Array.prototype[Symbol.unscopables]["flat"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "flat").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "flat").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "flat").configurable is true
PASS Array.prototype[Symbol.unscopables]["flatMap"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "flatMap").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "flatMap").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "flatMap").configurable is true
PASS Array.prototype[Symbol.unscopables]["includes"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "includes").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "includes").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "includes").configurable is true
PASS Array.prototype[Symbol.unscopables]["keys"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "keys").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "keys").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "keys").configurable is true
PASS Array.prototype[Symbol.unscopables]["values"] is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "values").writable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "values").enumerable is true
PASS Object.getOwnPropertyDescriptor(Array.prototype[Symbol.unscopables], "values").configurable is true
PASS successfullyParsed is true

TEST COMPLETE

