arnaucube
arnaucube/comunicationLeapPublic Self-hosted repository
comunicationLeap/node_modules/ws/test/WebSocket.integration.js
node_modules/ws/test/WebSocket.integration.jsRaw
 1var assert = require('assert')
 2  , WebSocket = require('../')
 3  , server = require('./testserver');
 4
 5var port = 20000;
 6
 7function getArrayBuffer(buf) {
 8  var l = buf.length;
 9  var arrayBuf = new ArrayBuffer(l);
10  var uint8View = new Uint8Array(arrayBuf);
11
12  for (var i = 0; i < l; i++) {
13    uint8View[i] = buf[i];
14  }
15  return uint8View.buffer;
16}
17
18function areArraysEqual(x, y) {
19  if (x.length != y.length) return false;
20  for (var i = 0, l = x.length; i < l; ++i) {
21    if (x[i] !== y[i]) return false;
22  }
23  return true;
24}
25
26describe('WebSocket', function() {
27  it('communicates successfully with echo service', function(done) {
28    var ws = new WebSocket('ws://echo.websocket.org/', {protocolVersion: 13, origin: 'http://websocket.org'});
29    var str = Date.now().toString();
30    var dataReceived = false;
31    ws.on('open', function() {
32      ws.send(str, {mask: true});
33    });
34    ws.on('close', function() {
35      assert.equal(true, dataReceived);
36      done();
37    });
38    ws.on('message', function(data, flags) {
39      assert.equal(str, data);
40      ws.terminate();
41      dataReceived = true;
42    });
43  });
44});