summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/websockets/keeping-connection-open/001.html
blob: ec18fe67e26cddf8db543021fba2fe70c8d93820 (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
26
27
28
<!doctype html>
<title>WebSockets: 20s inactivity after handshake</title>
<meta name=timeout content=long>
<p>Note: This test takes 20 seconds to run.</p>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../constants.js?pipe=sub></script>
<meta name="variant" content="">
<meta name="variant" content="?wss">
<div id=log></div>
<script>
async_test(function(t) {
  var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
  ws.onclose = ws.onerror = ws.onmessage = t.step_func(function() {assert_unreached()});
  ws.onopen = t.step_func(function(e) {
    setTimeout(t.step_func(function() {
      ws.send('test');
      ws.onmessage = t.step_func(function(e) {
        assert_equals(e.data, 'test');
        ws.onclose = t.step_func(function(e) {
          setTimeout(t.step_func(function() {t.done();}), 50)
        });
        ws.close();
      });
    }), 20000);
  })
}, null, {timeout:30000});
</script>