This test checks whether various forms of typeof expression are allowed.

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


PASS typeof x is 'number'
PASS typeof window.x is 'number'
PASS typeof window["x"] is 'number'
PASS typeof (x) is 'number'
PASS typeof (window.x) is 'number'
PASS typeof (window["x"]) is 'number'
PASS (y, typeof x) is 'number'
PASS typeof ((x)) is 'number'
PASS typeof ((window.x)) is 'number'
PASS typeof ((window["x"])) is 'number'
PASS typeof (y, x) is 'number'
PASS typeof (true ? x : y) is 'number'
PASS typeof nonexistent is 'undefined'
PASS typeof window.nonexistent is 'undefined'
PASS typeof window["nonexistent"] is 'undefined'
PASS typeof (nonexistent) is 'undefined'
PASS typeof (window.nonexistent) is 'undefined'
PASS typeof (window["nonexistent"]) is 'undefined'
PASS successfullyParsed is true

TEST COMPLETE

