| <!DOCTYPE html> | 
 | <html> | 
 | <head> | 
 |     <title>W3C WebSocket API - Send 65K binary data - ArrayBuffer - WebSocket</title> | 
 |     <script type="text/javascript" src="/resources/testharness.js"></script> | 
 |     <script type="text/javascript" src="/resources/testharnessreport.js"></script> | 
 |     <script type="text/javascript" src="websocket.js?pipe=sub"></script> | 
 | </head> | 
 | <body> | 
 |     <div id="log"></div> | 
 |     <script type="text/javascript"> | 
 |  | 
 |         var testOpen = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Connection should be opened"); | 
 |         var testMessage = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Message should be received"); | 
 |         var testClose = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Connection should be closed"); | 
 |  | 
 |         var data = ""; | 
 |         var datasize = 65000; | 
 |         var wsocket = CreateWebSocket(false, false, false); | 
 |         var isOpenCalled = false; | 
 |  | 
 |         wsocket.addEventListener('open', testOpen.step_func(function (evt) { | 
 |             wsocket.binaryType = "arraybuffer"; | 
 |             data = new ArrayBuffer(datasize); | 
 |             wsocket.send(data); | 
 |             assert_equals(datasize, wsocket.bufferedAmount); | 
 |             isOpenCalled = true; | 
 |             testOpen.done(); | 
 |         }), true); | 
 |  | 
 |         wsocket.addEventListener('message', testMessage.step_func(function (evt) { | 
 |             assert_equals(evt.data.byteLength, datasize); | 
 |             wsocket.close(); | 
 |             testMessage.done(); | 
 |         }), true); | 
 |  | 
 |         wsocket.addEventListener('close', testClose.step_func(function (evt) { | 
 |             assert_true(isOpenCalled, "WebSocket connection should be open"); | 
 |             assert_equals(evt.wasClean, true, "wasClean should be true"); | 
 |             testClose.done(); | 
 |         }), true); | 
 |     </script> | 
 | </body> | 
 | </html> |