Tests exception cases for PannerNode API.

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


PASS panner.setPosition(NaN, 1, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(NaN, 1, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(1, NaN, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(1, NaN, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(1, 1, NaN) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(1, 1, NaN) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(Infinity, 1, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(Infinity, 1, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(1, Infinity, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(1, Infinity, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(1, 1, Infinity) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(1, 1, Infinity) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(-Infinity, 1, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(-Infinity, 1, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(1, -Infinity, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(1, -Infinity, 1) threw exception TypeError: The provided value is non-finite.
PASS panner.setPosition(1, 1, -Infinity) threw exception TypeError: The provided value is non-finite.
PASS panner.setOrientation(1, 1, -Infinity) threw exception TypeError: The provided value is non-finite.
PASS successfullyParsed is true

TEST COMPLETE

