016.html (1434B)
1 <!doctype html> 2 <title>WebSockets: addEventListener</title> 3 <meta name="timeout" content="long"> 4 <script src=/resources/testharness.js></script> 5 <script src=/resources/testharnessreport.js></script> 6 <script src=../../../constants.sub.js></script> 7 <meta name="variant" content="?default"> 8 <meta name="variant" content="?wss"> 9 <meta name="variant" content="?wpt_flags=h2"> 10 <div id=log></div> 11 <script> 12 async_test(function(t) { 13 var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo'); 14 var count = 0; 15 var checkCount = t.step_func(function (c, e) { 16 count++; 17 assert_equals(count, c); 18 }); 19 // no spec requires this order for event listeners but the web does 20 ws.addEventListener('open', t.step_func(function(e) { 21 checkCount(1, e); 22 ws.send('Goodbye'); 23 }), false); 24 ws.onopen = t.step_func(function(e) {checkCount(2, e) }); 25 ws.addEventListener('open', t.step_func(function(e) {checkCount(3, e); }), false); 26 27 ws.addEventListener('message', t.step_func(function(e) {checkCount(4, e); }), false); 28 ws.onmessage = t.step_func(function(e) {checkCount(5, e) }); 29 ws.addEventListener('message', t.step_func(function(e) {checkCount(6, e); }), false); 30 31 ws.addEventListener('close', t.step_func(function(e) {checkCount(7, e); }), false); 32 ws.onclose = t.step_func(function(e) {checkCount(8, e) }); 33 ws.addEventListener('close', t.step_func(function(e) { 34 checkCount(9, e); 35 t.done(); 36 }), false); 37 38 }); 39 </script>