tor-browser

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

Send-binary-arraybufferview-int16-offset.any.js (1259B)


      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 - ArrayBufferView - Int16Array with offset - Connection should be closed");
      7 
      8 var data = "";
      9 var datasize = 8;
     10 var view;
     11 var wsocket = CreateWebSocket(false, false);
     12 var isOpenCalled = false;
     13 var isMessageCalled = false;
     14 
     15 wsocket.addEventListener('open', test.step_func(function(evt) {
     16  wsocket.binaryType = "arraybuffer";
     17  data = new ArrayBuffer(datasize);
     18  view = new Int16Array(data, 2);
     19  for (var i = 0; i < 4; i++) {
     20    view[i] = i;
     21  }
     22  wsocket.send(view);
     23  isOpenCalled = true;
     24 }), true);
     25 
     26 wsocket.addEventListener('message', test.step_func(function(evt) {
     27  isMessageCalled = true;
     28  var resultView = new Int16Array(evt.data);
     29  for (var i = 0; i < resultView.length; i++) {
     30    assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same");
     31  }
     32  wsocket.close();
     33 }), true);
     34 
     35 wsocket.addEventListener('close', test.step_func(function(evt) {
     36  assert_true(isOpenCalled, "WebSocket connection should be open");
     37  assert_true(isMessageCalled, "message should be received")
     38  assert_equals(evt.wasClean, true, "wasClean should be true");
     39  test.done();
     40 }), true);