blob: 2da471f01b993222ea49dfd2cb81a42444d6b52d [file] [log] [blame]
Test that the second argument of window.postMessage is ignored or triggers an error if it is not a message port. You should see PASS message '1' through '7', followed by 'done', with messages 4-7 received below.
PASS Posting message ('1', 1): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The 3rd argument is neither an array, nor does it have indexed properties.
PASS Posting message ('2', c): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The 3rd argument is neither an array, nor does it have indexed properties.
PASS Posting message ('3', [object Object]): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The 3rd argument is neither an array, nor does it have indexed properties.
PASS Posting message ('4', [object Window]) did not throw an exception
PASS Posting message ('5', undefined) did not throw an exception
PASS Posting message ('5a', null): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The 3rd argument is neither an array, nor does it have indexed properties.
PASS Posting message ('6', undefined) did not throw an exception
PASS Posting message ('7', [object MessagePort],[object MessagePort]) did not throw an exception
PASS Posting message ('7', [object MessagePort],[object MessagePort]) did not throw an exception
PASS Posting message ('2147483648', undefined) did not throw an exception
PASS Posting message ('2147483648', null): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The 3rd argument is neither an array, nor does it have indexed properties.
PASS Posting message ('[object MessagePort]', [object MessagePort],[object MessagePort]) did not throw an exception
PASS Posting message ('[object MessagePort]', [object MessagePort],[object MessagePort]) did not throw an exception
PASS Posting message ('[object MessagePort],[object MessagePort]', [object MessagePort],[object MessagePort]) did not throw an exception
PASS Posting message ('data', [object MessagePort],[object MessagePort]): threw exception DataCloneError: Failed to execute 'postMessage' on 'Window': Port at index 0 is already neutered.
PASS Posting message ('[object MessagePort],[object MessagePort]', ): threw exception DataCloneError: Failed to execute 'postMessage' on 'Window': A MessagePort could not be cloned.
PASS Posting message ('[object ArrayBuffer]', [object ArrayBuffer]) did not throw an exception
PASS arrayBuffer neutered
PASS view neutered
PASS Posting message ('[object ArrayBuffer]', ): threw exception DataCloneError: Failed to execute 'postMessage' on 'Window': An ArrayBuffer is neutered and could not be cloned.
PASS Posting message ('data', [object ArrayBuffer]): threw exception DataCloneError: Failed to execute 'postMessage' on 'Window': ArrayBuffer at index 0 is already neutered.
PASS Posting message ('', ): threw exception DataCloneError: Failed to execute 'postMessage' on 'Window': An ArrayBuffer is neutered and could not be cloned.
PASS Posting message ('data', ): threw exception TypeError: Failed to execute 'postMessage' on 'Window': Value at index 0 does not have a transferable type.
PASS Posting message ('data', [object Object]): threw exception TypeError: Failed to execute 'postMessage' on 'Window': Value at index 0 is an untransferable 'undefined' value.
PASS Posting message ('data', 1,,2): threw exception TypeError: Failed to execute 'postMessage' on 'Window': Value at index 0 does not have a transferable type.
PASS Posting message ('data', ,function () { [native code] }): threw exception TypeError: Failed to execute 'postMessage' on 'Window': Value at index 0 is an untransferable 'null' value.
PASS window.postMessage() threw exception TypeError: Failed to execute 'postMessage' on 'Window': 2 arguments required, but only 0 present..
PASS window.postMessage('a') threw exception TypeError: Failed to execute 'postMessage' on 'Window': 2 arguments required, but only 1 present..
PASS Posting message ('done', undefined) did not throw an exception
Received message '4' with 0 ports.
Received message '5' with 0 ports.
Received message '6' with 0 ports.
Received message '7' with 2 ports.
Received message '7' with 2 ports.
Received message '2147483648' with 0 ports.
Received message '[object MessagePort]' with 2 ports.
Received message '[object MessagePort]' with 2 ports.
Received message '[object MessagePort],[object MessagePort]' with 2 ports.
Received message '[object ArrayBuffer]' with 0 ports.
Received message 'done' with 0 ports.
PASS successfullyParsed is true
TEST COMPLETE