summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webmessaging/Channel_postMessage_ports_readonly_array.htm
blob: de2952dc12df5466dc28675e4c823621fac89717 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!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>

    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();
        evt.ports.push(channel3.port1);
        evt.ports.push(channel3.port1);

        assert_equals(evt.ports.length, 1, "ports is a read only array with length == 1.");
        t.done();
    }
</script>
</body>
</html>