https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 392366fb149414c0c2ef08b3d4741a32069025f3 authored by Han Leon on 21 December 2017, 10:00:24 UTC
[ServiceWorker] Let Client.url be the creation url of the window client
Tip revision: 392366f
Channel_postMessage_ports_readonly_array.htm
<!DOCTYPE html>
<html>
<head>
<title> postMessage(): read-only ports array </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id=log></div>
<script>
    "use strict";

    var TargetPort = null;
    var description = "The postMessage() method - Make new ports into a read only array.";

    var t = async_test("Test Description: " + description);

    var channel = new MessageChannel();

    TargetPort = channel.port2;
    TargetPort.start();
    TargetPort.addEventListener("message", t.step_func(TestMessageEvent), true);

    var channel2 = new MessageChannel();

    channel.port1.postMessage("ports", [channel2.port1]);

    function TestMessageEvent(evt)
    {
        var channel3 = new MessageChannel();
        assert_throws(new TypeError(), () => {
            evt.ports.push(channel3.port1);
        }, "ports is a frozen object");
        assert_equals(evt.ports.length, 1, "ports is a read only array with length == 1.");
        t.done();
    }
</script>
</body>
</html>
back to top