blob: 50d7c0e4865736cc21ea591b0dc24e17c38a024c [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 provided value cannot be converted to a sequence.
PASS Posting message ('2', c): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The provided value cannot be converted to a sequence.
PASS Posting message ('3', [object Object]): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The object must have a callable @@iterator property.
PASS Posting message ('4', [object Window]): threw exception TypeError: Failed to execute 'postMessage' on 'Window': The object must have a callable @@iterator property.
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 provided value cannot be converted to a sequence.
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 provided value cannot be converted to a sequence.
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 because it was not transferred.
PASS Posting message ('[object ArrayBuffer]', [object ArrayBuffer]) did not throw an exception
PASS arrayBuffer detached
PASS view detached
PASS Posting message ('[object ArrayBuffer]', ): threw exception DataCloneError: Failed to execute 'postMessage' on 'Window': An ArrayBuffer is detached 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 detached.
PASS Posting message ('[detached TypedArray]', ): threw exception DataCloneError: Failed to execute 'postMessage' on 'Window': An ArrayBuffer is detached and could not be cloned.
PASS Posting message ('data', [detached TypedArray]): 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': The object must have a callable @@iterator property.
PASS Posting message ('data', 1,,2): threw exception TypeError: Failed to execute 'postMessage' on 'Window': Failed to convert value to 'object'.
PASS Posting message ('data', ,function postMessage() { [native code] }): threw exception TypeError: Failed to execute 'postMessage' on 'Window': Failed to convert value to 'object'.
PASS window.postMessage() threw exception TypeError: Failed to execute 'postMessage' on 'Window': 1 argument required, but only 0 present..
PASS Posting message ('a', undefined): threw exception SyntaxError: Failed to execute 'postMessage' on 'Window': Invalid target origin 'undefined' in a call to 'postMessage'.
PASS Posting message ('done', undefined) did not throw an exception
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