tor-browser

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

Close-delayed.any.js (1005B)


      1 // META: script=constants.sub.js
      2 // META: variant=?default
      3 // META: variant=?wss
      4 // META: variant=?wpt_flags=h2
      5 
      6 var test = async_test("Create WebSocket - Close the Connection - close should not emit until handshake completes - Connection should be closed");
      7 
      8 var wsocket = new WebSocket(`${SCHEME_DOMAIN_PORT}/delayed-passive-close`);
      9 var startTime;
     10 var isOpenCalled = false;
     11 
     12 wsocket.addEventListener('open', test.step_func(function(evt) {
     13  startTime = performance.now();
     14  wsocket.close();
     15  isOpenCalled = true;
     16 }), true);
     17 
     18 wsocket.addEventListener('close', test.step_func(function(evt) {
     19  const elapsed = performance.now() - startTime;
     20  assert_true(isOpenCalled, "WebSocket connection should be open");
     21  assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)");
     22  assert_equals(evt.wasClean, true, "wasClean should be TRUE");
     23  const jitterAllowance = 100;
     24  assert_greater_than_equal(elapsed, 1000 - jitterAllowance,
     25    'one second should have elapsed')
     26  test.done();
     27 }), true);