Tests that document.createEvent() works with orientationChange

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


PASS successfullyParsed is true

TEST COMPLETE
FAIL... orientationChange event doesn't appear to be enabled or implemented.
