Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / websocket / close-in-order.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="/js-test-resources/js-test.js"></script>
5 </head>
6 <body>
7 <script type="text/javascript">
8 description('The closing handshake should start when all data is transmitted.');
9
10 window.jsTestIsAsync = true;
11
12 var ws = new WebSocket('ws://127.0.0.1:8880/count-received-bytes');
13
14 var message = 'a';
15 for (var i = 0; i < 16; ++i)
16     message = message + message;
17
18 ws.onopen = function()
19 {
20     ws.send(message);
21     ws.send(message);
22     ws.send(message);
23     window.bufferedAmount = ws.bufferedAmount;
24     shouldBe('bufferedAmount', '196608');
25     ws.close();
26 };
27
28 ws.onclose = function(e)
29 {
30     debug('onclose');
31     window.bufferedAmount = ws.bufferedAmount;
32     window.wasClean = e.wasClean;
33     window.reason = e.reason
34     shouldBe('bufferedAmount', '0');
35     shouldBeTrue('wasClean');
36     shouldBeEqualToString('reason', 'received 196608 bytes'); 
37     finishJSTest();
38 };
39
40 </script>
41 </body>
42 </html>