summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/websockets/bufferedAmount-unchanged-by-sync-xhr.any.js
blob: b247ee56f62f3f82e6bbae4f42022afcf6ffa6ff (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
// META: script=constants.sub.js
// META: global=window,dedicatedworker,sharedworker
// META: variant=
// META: variant=?wss
// META: variant=?wpt_flags=h2

async_test(t => {
  const ws = CreateWebSocket(false, false);
  ws.onopen = t.step_func(() => {
    ws.onclose = ws.onerror = null;
    assert_equals(ws.bufferedAmount, 0);
    ws.send('hello');
    assert_equals(ws.bufferedAmount, 5);
    // Stop execution for 1s with a sync XHR.
    const xhr = new XMLHttpRequest();
    xhr.open('GET', '/common/blank.html?pipe=trickle(d1)', false);
    xhr.send();
    assert_equals(ws.bufferedAmount, 5);
    ws.close();
    t.done();
  });
  ws.onerror = ws.onclose = t.unreached_func('open should succeed');
}, 'bufferedAmount should not be updated during a sync XHR');

done();