Philipp von Weitershausen ebb44d202b Clean up and simplify WebSocket implementation on the JS side
Summary:- Get rid of no longer necessary WebSocket.js v WebSocketBase.js split
- Use `EventTarget(list, of, events)` as base class to auto-generate `oneventname` getters/setters that get invoked along with other event handlers
- Type annotation `any` considered harmful, especially when we can easily spell out the actual type
- Throw in some `const` goodness for free

**Test Plan:** Launch UIExplorer example app, supplied `websocket_test_server` script, and try different combinations of sending and receiving text and binary data on both iOS and Android.
Closes https://github.com/facebook/react-native/pull/6889

Differential Revision: D3184835

Pulled By: mkonicek

fb-gh-sync-id: f21707f4e97aa5a79847f5157e0a9f132a1a01cd
fbshipit-source-id: f21707f4e97aa5a79847f5157e0a9f132a1a01cd
2016-04-18 15:43:25 -07:00

26 lines
570 B
JavaScript

/**
* Copyright 2004-present Facebook. All Rights Reserved.
*/
'use strict';
jest.dontMock('WebSocket');
jest.setMock('NativeModules', {
WebSocketModule: {
connect: () => {}
}
});
var WebSocket = require('WebSocket');
describe('WebSocket', function() {
it('should have connection lifecycle constants defined on the class', () => {
expect(WebSocket.CONNECTING).toEqual(0);
});
it('should have connection lifecycle constants defined on the instance', () => {
expect(new WebSocket('wss://echo.websocket.org').CONNECTING).toEqual(0);
});
});