| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 1 | <!DOCTYPE html> | 
|  | 2 | <html> | 
|  | 3 | <head> | 
|  | 4 | <title>W3C WebSocket API - Send binary data - ArrayBufferView - Int16Array with offset - WebSocket</title> | 
|  | 5 | <script type="text/javascript" src="/resources/testharness.js"></script> | 
|  | 6 | <script type="text/javascript" src="/resources/testharnessreport.js"></script> | 
| Ms2ger | b26c70f | 2016-03-01 14:53:11 | [diff] [blame] | 7 | <script type="text/javascript" src="websocket.sub.js"></script> | 
| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 8 | </head> | 
|  | 9 | <body> | 
|  | 10 | <div id="log"></div> | 
|  | 11 | <script type="text/javascript"> | 
|  | 12 |  | 
|  | 13 | var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Connection should be opened"); | 
|  | 14 | var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Message should be received"); | 
|  | 15 | var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Connection should be closed"); | 
|  | 16 |  | 
|  | 17 | var data = ""; | 
|  | 18 | var datasize = 8; | 
| plehegar | 922ba62 | 2015-01-16 23:45:00 | [diff] [blame] | 19 | var view; | 
| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 20 | var wsocket = CreateWebSocket(false, false, false); | 
|  | 21 | var isOpenCalled = false; | 
|  | 22 |  | 
|  | 23 | wsocket.addEventListener('open', testOpen.step_func(function (evt) { | 
|  | 24 | wsocket.binaryType = "arraybuffer"; | 
|  | 25 | data = new ArrayBuffer(datasize); | 
| plehegar | 922ba62 | 2015-01-16 23:45:00 | [diff] [blame] | 26 | view = new Int16Array(data, 2); | 
|  | 27 | for(var i = 0; i < 4; i++) { | 
|  | 28 | view[i] = i; | 
|  | 29 | } | 
| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 30 | wsocket.send(view); | 
|  | 31 | isOpenCalled = true; | 
|  | 32 | testOpen.done(); | 
|  | 33 | }), true); | 
|  | 34 |  | 
|  | 35 | wsocket.addEventListener('message', testMessage.step_func(function (evt) { | 
|  | 36 | var resultView = new Int16Array(evt.data); | 
| plehegar | 922ba62 | 2015-01-16 23:45:00 | [diff] [blame] | 37 | for(var i = 0; i < resultView.length; i++) { | 
|  | 38 | assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); | 
|  | 39 | } | 
| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 40 | wsocket.close(); | 
|  | 41 | testMessage.done(); | 
|  | 42 | }), true); | 
|  | 43 |  | 
|  | 44 | wsocket.addEventListener('close', testClose.step_func(function (evt) { | 
|  | 45 | assert_true(isOpenCalled, "WebSocket connection should be open"); | 
|  | 46 | assert_equals(evt.wasClean, true, "wasClean should be true"); | 
|  | 47 | testClose.done(); | 
|  | 48 | }), true); | 
|  | 49 | </script> | 
|  | 50 | </body> | 
|  | 51 | </html> |