forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const assert = require('assert');
 | |
| 
 | |
| const WebSocket = require('..');
 | |
| 
 | |
| describe('WebSocket', () => {
 | |
|   it('communicates successfully with echo service (ws)', (done) => {
 | |
|     const ws = new WebSocket('ws://websocket-echo.com/', {
 | |
|       protocolVersion: 13
 | |
|     });
 | |
| 
 | |
|     let dataReceived = false;
 | |
| 
 | |
|     ws.on('open', () => {
 | |
|       ws.send('hello');
 | |
|     });
 | |
| 
 | |
|     ws.on('close', () => {
 | |
|       assert.ok(dataReceived);
 | |
|       done();
 | |
|     });
 | |
| 
 | |
|     ws.on('message', (message, isBinary) => {
 | |
|       dataReceived = true;
 | |
|       assert.ok(!isBinary);
 | |
|       assert.strictEqual(message.toString(), 'hello');
 | |
|       ws.close();
 | |
|     });
 | |
|   });
 | |
| 
 | |
|   it('communicates successfully with echo service (wss)', (done) => {
 | |
|     const ws = new WebSocket('wss://websocket-echo.com/', {
 | |
|       protocolVersion: 13
 | |
|     });
 | |
| 
 | |
|     let dataReceived = false;
 | |
| 
 | |
|     ws.on('open', () => {
 | |
|       ws.send('hello');
 | |
|     });
 | |
| 
 | |
|     ws.on('close', () => {
 | |
|       assert.ok(dataReceived);
 | |
|       done();
 | |
|     });
 | |
| 
 | |
|     ws.on('message', (message, isBinary) => {
 | |
|       dataReceived = true;
 | |
|       assert.ok(!isBinary);
 | |
|       assert.strictEqual(message.toString(), 'hello');
 | |
|       ws.close();
 | |
|     });
 | |
|   });
 | |
| });
 | 
