This tests basic properties of the TypedArray prototype

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


PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Int8Array) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Int16Array) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Int32Array) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Uint8Array) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Uint8ClampedArray) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Uint16Array) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Uint32Array) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Int8Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Int16Array) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Int32Array) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Uint8Array) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Uint8ClampedArray) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Uint16Array) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Uint32Array) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Int16Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Int32Array) === Object.getPrototypeOf(Int32Array) is true
PASS Object.getPrototypeOf(Int32Array) === Object.getPrototypeOf(Uint8Array) is true
PASS Object.getPrototypeOf(Int32Array) === Object.getPrototypeOf(Uint8ClampedArray) is true
PASS Object.getPrototypeOf(Int32Array) === Object.getPrototypeOf(Uint16Array) is true
PASS Object.getPrototypeOf(Int32Array) === Object.getPrototypeOf(Uint32Array) is true
PASS Object.getPrototypeOf(Int32Array) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Int32Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Uint8Array) === Object.getPrototypeOf(Uint8Array) is true
PASS Object.getPrototypeOf(Uint8Array) === Object.getPrototypeOf(Uint8ClampedArray) is true
PASS Object.getPrototypeOf(Uint8Array) === Object.getPrototypeOf(Uint16Array) is true
PASS Object.getPrototypeOf(Uint8Array) === Object.getPrototypeOf(Uint32Array) is true
PASS Object.getPrototypeOf(Uint8Array) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Uint8Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Uint8ClampedArray) === Object.getPrototypeOf(Uint8ClampedArray) is true
PASS Object.getPrototypeOf(Uint8ClampedArray) === Object.getPrototypeOf(Uint16Array) is true
PASS Object.getPrototypeOf(Uint8ClampedArray) === Object.getPrototypeOf(Uint32Array) is true
PASS Object.getPrototypeOf(Uint8ClampedArray) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Uint8ClampedArray) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Uint16Array) === Object.getPrototypeOf(Uint16Array) is true
PASS Object.getPrototypeOf(Uint16Array) === Object.getPrototypeOf(Uint32Array) is true
PASS Object.getPrototypeOf(Uint16Array) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Uint16Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Uint32Array) === Object.getPrototypeOf(Uint32Array) is true
PASS Object.getPrototypeOf(Uint32Array) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Uint32Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Float32Array) === Object.getPrototypeOf(Float32Array) is true
PASS Object.getPrototypeOf(Float32Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getPrototypeOf(Float64Array) === Object.getPrototypeOf(Float64Array) is true
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.name is "get buffer"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.length is 0
PASS "writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer") is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get is "function"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").set is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call() threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(undefined) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(null) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(5) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call([]) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call({ foo: "bar" }) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(new ArrayBuffer(42)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(new DataView(new ArrayBuffer(8), 0, 1)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.name is "get byteLength"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.length is 0
PASS "writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength") is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get is "function"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").set is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call() threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(undefined) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(null) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(5) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call([]) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call({ foo: "bar" }) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(new ArrayBuffer(42)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(new DataView(new ArrayBuffer(8), 0, 1)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.name is "get byteOffset"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.length is 0
PASS "writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset") is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get is "function"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").set is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call() threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(undefined) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(null) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(5) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call([]) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call({ foo: "bar" }) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(new ArrayBuffer(42)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(new DataView(new ArrayBuffer(8), 0, 1)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").writable is true
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").value is "function"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").set is undefined
PASS TypedArray.prototype.entries.call() threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.entries.call(undefined) threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.entries.call(null) threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.entries.call(5) threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.entries.call([]) threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.entries.call({ foo: "bar" }) threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.entries.call(new ArrayBuffer(42)) threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.entries.call(new DataView(new ArrayBuffer(8), 0, 1)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.name is "get length"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.length is 0
PASS "writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "length") is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get is "function"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").set is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call() threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(undefined) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(null) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(5) threw exception TypeError: Receiver should be a typed array view but was not an object.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call([]) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call({ foo: "bar" }) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(new ArrayBuffer(42)) threw exception TypeError: Receiver should be a typed array view.
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(new DataView(new ArrayBuffer(8), 0, 1)) threw exception TypeError: Receiver should be a typed array view.
PASS TypedArray.prototype.toLocaleString.name is "toLocaleString"
PASS TypedArray.prototype.toLocaleString.length is 0
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "toLocaleString").writable is true
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "toLocaleString").enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "toLocaleString").configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").value is "function"
PASS TypedArray.prototype.toString.name is "toString"
PASS TypedArray.prototype.toString.length is 0
PASS TypedArray.prototype.toString is Array.prototype.toString
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").writable is true
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").value is "function"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.name is "get [Symbol.toStringTag]"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.length is 0
PASS "writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag) is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).enumerable is false
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).configurable is true
PASS typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get is "function"
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).set is undefined
PASS TypedArray.prototype[Symbol.toStringTag] is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call() is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(undefined) is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(null) is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(5) is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call([]) is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call({ foo: "bar" }) is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(new ArrayBuffer(42)) is undefined
PASS Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(new DataView(new ArrayBuffer(8), 0, 1)) is undefined
PASS successfullyParsed is true

TEST COMPLETE

