OLD | NEW |
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="/js-test-resources/js-test.js"></script> | 4 <script src="/js-test-resources/js-test.js"></script> |
5 </head> | 5 </head> |
6 <body> | 6 <body> |
7 <script type="text/javascript"> | 7 <script type="text/javascript"> |
8 description('WebSocket bufferedAmount after send'); | 8 description('WebSocket bufferedAmount after send'); |
9 | 9 |
10 window.jsTestIsAsync = true; | 10 window.jsTestIsAsync = true; |
11 | 11 |
12 var ws = new WebSocket('ws://localhost:8880/echo'); | 12 var ws = new WebSocket('ws://localhost:8880/echo'); |
13 | 13 |
14 ws.onopen = function() | 14 ws.onopen = function() |
15 { | 15 { |
16 debug('onopen'); | 16 debug('onopen'); |
17 ws.send('hello'); | 17 ws.send('hello'); |
18 shouldBe('ws.bufferedAmount', '5'); | 18 shouldBe('ws.bufferedAmount', '5'); |
19 ws.send(new ArrayBuffer(32)); | 19 ws.send(new ArrayBuffer(32)); |
20 shouldBe('ws.bufferedAmount', '37'); | 20 shouldBe('ws.bufferedAmount', '37'); |
21 ws.send(new Blob(['abc', 'de'])); | 21 ws.send(new Blob(['abc', 'de'])); |
22 shouldBe('ws.bufferedAmount', '42'); | 22 shouldBe('ws.bufferedAmount', '42'); |
23 ws.send('bye'); | 23 ws.send('bye'); |
24 shouldBe('ws.bufferedAmount', '45'); | 24 shouldBe('ws.bufferedAmount', '45'); |
25 // FIXME: This is a bit flaky but I don't know how to fix it. | 25 var id = setInterval(function() { |
26 setTimeout(function() { | 26 if (ws.bufferedAmount === 0) { |
27 shouldBe('ws.bufferedAmount', '0'); | 27 clearInterval(id); |
28 ws.close(); | 28 ws.close(); |
| 29 } |
29 }, 50); | 30 }, 50); |
30 }; | 31 }; |
31 | 32 |
32 ws.onclose = function() | 33 ws.onclose = function() |
33 { | 34 { |
34 debug('onclose'); | 35 debug('onclose'); |
35 shouldBe('ws.bufferedAmount', '0'); | 36 shouldBe('ws.bufferedAmount', '0'); |
36 finishJSTest(); | 37 finishJSTest(); |
37 }; | 38 }; |
38 | 39 |
39 </script> | 40 </script> |
40 </body> | 41 </body> |
41 </html> | 42 </html> |
OLD | NEW |