tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

websocket.integration.js (1165B)


      1 'use strict';
      2 
      3 const assert = require('assert');
      4 
      5 const WebSocket = require('..');
      6 
      7 describe('WebSocket', () => {
      8  it('communicates successfully with echo service (ws)', (done) => {
      9    const ws = new WebSocket('ws://websocket-echo.com/', {
     10      protocolVersion: 13
     11    });
     12 
     13    let dataReceived = false;
     14 
     15    ws.on('open', () => {
     16      ws.send('hello');
     17    });
     18 
     19    ws.on('close', () => {
     20      assert.ok(dataReceived);
     21      done();
     22    });
     23 
     24    ws.on('message', (message, isBinary) => {
     25      dataReceived = true;
     26      assert.ok(!isBinary);
     27      assert.strictEqual(message.toString(), 'hello');
     28      ws.close();
     29    });
     30  });
     31 
     32  it('communicates successfully with echo service (wss)', (done) => {
     33    const ws = new WebSocket('wss://websocket-echo.com/', {
     34      protocolVersion: 13
     35    });
     36 
     37    let dataReceived = false;
     38 
     39    ws.on('open', () => {
     40      ws.send('hello');
     41    });
     42 
     43    ws.on('close', () => {
     44      assert.ok(dataReceived);
     45      done();
     46    });
     47 
     48    ws.on('message', (message, isBinary) => {
     49      dataReceived = true;
     50      assert.ok(!isBinary);
     51      assert.strictEqual(message.toString(), 'hello');
     52      ws.close();
     53    });
     54  });
     55 });