Prettier IntegrationTests

Reviewed By: sahrens

Differential Revision: D7958195

fbshipit-source-id: 253c0eec593228e7b6bc66606584877161c6bfc2
This commit is contained in:
Eli White
2018-05-10 15:44:55 -07:00
committed by Facebook Github Bot
parent 86b6f5d39e
commit dca21c8f23
19 changed files with 342 additions and 294 deletions

View File

@@ -4,23 +4,20 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow
*/
'use strict';
var React = require('react');
var ReactNative = require('react-native');
var { View } = ReactNative;
var { TestModule } = ReactNative.NativeModules;
var {View} = ReactNative;
var {TestModule} = ReactNative.NativeModules;
const DEFAULT_WS_URL = 'ws://localhost:5555/';
const WS_EVENTS = [
'close',
'error',
'message',
'open',
];
const WS_EVENTS = ['close', 'error', 'message', 'open'];
const WS_STATES = [
/* 0 */ 'CONNECTING',
/* 1 */ 'OPEN',
@@ -29,14 +26,14 @@ const WS_STATES = [
];
type State = {
url: string;
fetchStatus: ?string;
socket: ?WebSocket;
socketState: ?number;
lastSocketEvent: ?string;
lastMessage: ?string | ?ArrayBuffer;
testMessage: string;
testExpectedResponse: string;
url: string,
fetchStatus: ?string,
socket: ?WebSocket,
socketState: ?number,
lastSocketEvent: ?string,
lastMessage: ?string | ?ArrayBuffer,
testMessage: string,
testExpectedResponse: string,
};
class WebSocketTest extends React.Component<{}, State> {
@@ -48,13 +45,13 @@ class WebSocketTest extends React.Component<{}, State> {
lastSocketEvent: null,
lastMessage: null,
testMessage: 'testMessage',
testExpectedResponse: 'testMessage_response'
testExpectedResponse: 'testMessage_response',
};
_waitFor = (condition: any, timeout: any, callback: any) => {
var remaining = timeout;
var t;
var timeoutFunction = function() {
var timeoutFunction = function() {
if (condition()) {
callback(true);
return;
@@ -63,11 +60,11 @@ class WebSocketTest extends React.Component<{}, State> {
if (remaining === 0) {
callback(false);
} else {
t = setTimeout(timeoutFunction,1000);
t = setTimeout(timeoutFunction, 1000);
}
};
t = setTimeout(timeoutFunction,1000);
}
t = setTimeout(timeoutFunction, 1000);
};
_connect = () => {
const socket = new WebSocket(this.state.url);
@@ -80,11 +77,11 @@ class WebSocketTest extends React.Component<{}, State> {
_socketIsConnected = () => {
return this.state.socketState === 1; //'OPEN'
}
};
_socketIsDisconnected = () => {
return this.state.socketState === 3; //'CLOSED'
}
};
_disconnect = () => {
if (!this.state.socket) {
@@ -116,7 +113,7 @@ class WebSocketTest extends React.Component<{}, State> {
};
_receivedTestExpectedResponse = () => {
return (this.state.lastMessage === this.state.testExpectedResponse);
return this.state.lastMessage === this.state.testExpectedResponse;
};
componentDidMount() {
@@ -126,34 +123,40 @@ class WebSocketTest extends React.Component<{}, State> {
testConnect = () => {
var component = this;
component._connect();
component._waitFor(component._socketIsConnected, 5, function(connectSucceeded) {
component._waitFor(component._socketIsConnected, 5, function(
connectSucceeded,
) {
if (!connectSucceeded) {
TestModule.markTestPassed(false);
return;
}
component.testSendAndReceive();
});
}
};
testSendAndReceive = () => {
var component = this;
component._sendTestMessage();
component._waitFor(component._receivedTestExpectedResponse, 5, function(messageReceived) {
component._waitFor(component._receivedTestExpectedResponse, 5, function(
messageReceived,
) {
if (!messageReceived) {
TestModule.markTestPassed(false);
return;
}
component.testDisconnect();
});
}
};
testDisconnect = () => {
var component = this;
component._disconnect();
component._waitFor(component._socketIsDisconnected, 5, function(disconnectSucceeded) {
component._waitFor(component._socketIsDisconnected, 5, function(
disconnectSucceeded,
) {
TestModule.markTestPassed(disconnectSucceeded);
});
}
};
render(): React.Node {
return <View />;