Verifies that attempting to set invalid elements to a Typed Array throws an exception

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

PASS typedArray.set() threw exception TypeError: Expected at least one argument.
PASS typedArray.set('hello world') threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set(otherArray, 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set() threw exception TypeError: Expected at least one argument.
PASS typedArray.set('hello world') threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set(otherArray, 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set() threw exception TypeError: Expected at least one argument.
PASS typedArray.set('hello world') threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set(otherArray, 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set() threw exception TypeError: Expected at least one argument.
PASS typedArray.set('hello world') threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set(otherArray, 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set() threw exception TypeError: Expected at least one argument.
PASS typedArray.set('hello world') threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set(otherArray, 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set() threw exception TypeError: Expected at least one argument.
PASS typedArray.set('hello world') threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set(otherArray, 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set() threw exception TypeError: Expected at least one argument.
PASS typedArray.set('hello world') threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS typedArray.set(otherArray, 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS successfullyParsed is true

TEST COMPLETE

