tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Channel_postMessage_ports_readonly_array.any.js (862B)


      1 // META: title=postMessage(): read-only ports array
      2 
      3    "use strict";
      4 
      5    var TargetPort = null;
      6    var description = "The postMessage() method - Make new ports into a read only array.";
      7 
      8    var t = async_test("Test Description: " + description);
      9 
     10    var channel = new MessageChannel();
     11 
     12    TargetPort = channel.port2;
     13    TargetPort.start();
     14    TargetPort.addEventListener("message", t.step_func(TestMessageEvent), true);
     15 
     16    var channel2 = new MessageChannel();
     17 
     18    channel.port1.postMessage("ports", [channel2.port1]);
     19 
     20    function TestMessageEvent(evt)
     21    {
     22        var channel3 = new MessageChannel();
     23        assert_throws_js(TypeError, () => {
     24            evt.ports.push(channel3.port1);
     25        }, "ports is a frozen object");
     26        assert_equals(evt.ports.length, 1, "ports is a read only array with length == 1.");
     27        t.done();
     28    }