blob: 83e14351a529f65ca99e856d8020e93956dbf601 [file] [log] [blame]
Philip Jägenstedtc053f402014-01-22 17:02:181<!DOCTYPE html>
2<html>
3<head>
4 <title>W3C WebSocket API - Send binary data - ArrayBufferView - Uint8Array with offset and length - WebSocket</title>
5 <script type="text/javascript" src="/resources/testharness.js"></script>
6 <script type="text/javascript" src="/resources/testharnessreport.js"></script>
Ms2gerb26c70f2016-03-01 14:53:117 <script type="text/javascript" src="websocket.sub.js"></script>
Philip Jägenstedtc053f402014-01-22 17:02:188</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 - Uint8Array with offset and length - Connection should be opened");
14 var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Message should be received");
15 var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Connection should be closed");
16
17 var data = "";
18 var datasize = 8;
plehegar09d95c52015-01-16 22:27:4419 var view;
Philip Jägenstedtc053f402014-01-22 17:02:1820 var wsocket = CreateWebSocket(true, 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);
plehegar09d95c52015-01-16 22:27:4426 view = new Uint8Array(data, 2, 4);
27 for(var i = 0; i < 8; i++) {
28 view[i] = i;
29 }
Philip Jägenstedtc053f402014-01-22 17:02:1830 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 Uint8Array(evt.data);
plehegar09d95c52015-01-16 22:27:4437 for(var i = 0; i < resultView.length; i++) {
38 assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same");
39 }
Philip Jägenstedtc053f402014-01-22 17:02:1840 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>