This is a testharness.js-based test.
FAIL Default event values Cannot read property 'length' of null
PASS MessageEventInit dictionary 
FAIL Passing null for ports member assert_throws: function "function () {
    new MessageEvent("test", { ports: null })
  }" did not throw
FAIL ports attribute should be a FrozenArray assert_true: Object.isFrozen() should return true expected true got false
PASS initMessageEvent operation 
FAIL Passing null for ports parameter to initMessageEvent assert_throws: function "function () {
    ev.initMessageEvent("test", true, false, "testData", "testOrigin", "testId", window, null)
  }" did not throw
FAIL All parameters to initMessageEvent should be mandatory assert_equals: MessageEvent.prototype.initMessageEvent.length should be 8 expected 8 but got 0
FAIL Passing ServiceWorker for source member promise_test: Unhandled rejection with value: object "TypeError: assert_unreached: unregister should not fail: Failed to construct 'MessageEvent': get a ServiceWorkerRegistration: The optional 'source' property URL protocol of the current origin ('file://') is neither a Window nor MessagePort." not supported. Reached unreachable code
Harness: the test ran to completion.