diff --git a/assignment-client/src/Agent.cpp b/assignment-client/src/Agent.cpp index d656464c10..4c3958c878 100644 --- a/assignment-client/src/Agent.cpp +++ b/assignment-client/src/Agent.cpp @@ -24,6 +24,7 @@ #include #include +#include #include // TODO: consider moving to scriptengine.h #include "avatars/ScriptableAvatar.h" @@ -184,6 +185,9 @@ void Agent::run() { _scriptEngine.registerGlobalObject("SoundCache", DependencyManager::get().data()); + QScriptValue webSocketServerConstructorValue = _scriptEngine.newFunction(WebSocketServerClass::constructor); + _scriptEngine.globalObject().setProperty("WebSocketServer", webSocketServerConstructorValue); + auto entityScriptingInterface = DependencyManager::get(); _scriptEngine.registerGlobalObject("EntityViewer", &_entityViewer); diff --git a/examples/utilities/diagnostics/testWebSocket.js b/examples/utilities/diagnostics/testWebSocket.js index af915c3790..4cf6c3682b 100644 --- a/examples/utilities/diagnostics/testWebSocket.js +++ b/examples/utilities/diagnostics/testWebSocket.js @@ -61,40 +61,43 @@ unitTests.addTest("Test WebSocket invalid URL", function(finished) { this.assertEquals(WEBSOCKET_INVALID_URL, webSocket.url, "url should be '" + WEBSOCKET_INVALID_URL + "'"); }, UNITTEST_TIMEOUT); - -unitTests.addTest("Test WebSocketServer with three clients", function(finished) { - var _this = this; - const NUMBER_OF_CLIENTS = 3; - var connectedClients = 0; - var respondedClients = 0; - var webSocketServer = new WebSocketServer(); - _this.assertEquals(true, webSocketServer.listening, "listening should be true"); - webSocketServer.newConnection.connect(this.registerCallbackFunction(function(newClient) { - connectedClients++; - newClient.onmessage = _this.registerCallbackFunction(function(event) { - var data = JSON.parse(event.data); - _this.assertEquals(TEST_MESSAGE, data.message, "data.message should be '" + TEST_MESSAGE + "'"); - respondedClients++; - if (respondedClients === NUMBER_OF_CLIENTS) { - webSocketServer.close(); - _this.assertEquals(false, webSocketServer.listening, "listening should be false"); - _this.done(); - } - }); - newClient.send(JSON.stringify({message: TEST_MESSAGE, client: connectedClients})); - })); - var newSocket1 = new WebSocket(webSocketServer.url); - newSocket1.onmessage = this.registerCallbackFunction(function(event) { - newSocket1.send(event.data); - }); - var newSocket2 = new WebSocket(webSocketServer.url); - newSocket2.onmessage = this.registerCallbackFunction(function(event) { - newSocket2.send(event.data); - }); - var newSocket3 = new WebSocket(webSocketServer.url); - newSocket3.onmessage = this.registerCallbackFunction(function(event) { - newSocket3.send(event.data); - }); -}, UNITTEST_TIMEOUT); +if (this.WebSocketServer === undefined) { + print("Skipping WebSocketServer tests."); +} else { + unitTests.addTest("Test WebSocketServer with three clients", function(finished) { + var _this = this; + const NUMBER_OF_CLIENTS = 3; + var connectedClients = 0; + var respondedClients = 0; + var webSocketServer = new WebSocketServer(); + _this.assertEquals(true, webSocketServer.listening, "listening should be true"); + webSocketServer.newConnection.connect(this.registerCallbackFunction(function(newClient) { + connectedClients++; + newClient.onmessage = _this.registerCallbackFunction(function(event) { + var data = JSON.parse(event.data); + _this.assertEquals(TEST_MESSAGE, data.message, "data.message should be '" + TEST_MESSAGE + "'"); + respondedClients++; + if (respondedClients === NUMBER_OF_CLIENTS) { + webSocketServer.close(); + _this.assertEquals(false, webSocketServer.listening, "listening should be false"); + _this.done(); + } + }); + newClient.send(JSON.stringify({message: TEST_MESSAGE, client: connectedClients})); + })); + var newSocket1 = new WebSocket(webSocketServer.url); + newSocket1.onmessage = this.registerCallbackFunction(function(event) { + newSocket1.send(event.data); + }); + var newSocket2 = new WebSocket(webSocketServer.url); + newSocket2.onmessage = this.registerCallbackFunction(function(event) { + newSocket2.send(event.data); + }); + var newSocket3 = new WebSocket(webSocketServer.url); + newSocket3.onmessage = this.registerCallbackFunction(function(event) { + newSocket3.send(event.data); + }); + }, UNITTEST_TIMEOUT); +} unitTests.run(); diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index c629529382..32a2a5b6f0 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -39,7 +39,6 @@ #include "TypedArrays.h" #include "XMLHttpRequestClass.h" #include "WebSocketClass.h" -#include "WebSocketServerClass.h" #include "SceneScriptingInterface.h" @@ -348,9 +347,6 @@ void ScriptEngine::init() { QScriptValue webSocketConstructorValue = newFunction(WebSocketClass::constructor); globalObject().setProperty("WebSocket", webSocketConstructorValue); - QScriptValue webSocketServerConstructorValue = newFunction(WebSocketServerClass::constructor); - globalObject().setProperty("WebSocketServer", webSocketServerConstructorValue); - QScriptValue printConstructorValue = newFunction(debugPrint); globalObject().setProperty("print", printConstructorValue);