tor-browser

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

Send-binary-blob.any.js (1084B)


      1 // META: script=constants.sub.js
      2 // META: variant=?default
      3 // META: variant=?wpt_flags=h2
      4 // META: variant=?wss
      5 
      6 var test = async_test("Send binary data on a WebSocket - Blob - Connection should be closed");
      7 
      8 var data = "";
      9 var datasize = 65000;
     10 var isOpenCalled = false;
     11 var isMessageCalled = false;
     12 
     13 var wsocket = CreateWebSocket(false, false);
     14 
     15 wsocket.addEventListener('open', test.step_func(function(evt) {
     16  wsocket.binaryType = "blob";
     17  for (var i = 0; i < datasize; i++)
     18    data += String.fromCharCode(0);
     19  data = new Blob([data]);
     20  isOpenCalled = true;
     21  wsocket.send(data);
     22 }), true);
     23 
     24 wsocket.addEventListener('message', test.step_func(function(evt) {
     25  isMessageCalled = true;
     26  assert_true(evt.data instanceof Blob);
     27  assert_equals(evt.data.size, datasize);
     28  wsocket.close();
     29 }), true);
     30 
     31 wsocket.addEventListener('close', test.step_func(function(evt) {
     32  assert_true(isOpenCalled, "WebSocket connection should be open");
     33  assert_true(isMessageCalled, "message should be received");
     34  assert_true(evt.wasClean, "wasClean should be true");
     35  test.done();
     36 }), true);