From 2bb4fdef5efc70327c018e982ff809a29ac6708b Mon Sep 17 00:00:00 2001 From: Richard Macklin Date: Sat, 1 Dec 2018 14:48:24 -0800 Subject: Replace reference to WebSocket global with ActionCable.adapters.WebSocket The WebSocket dependency of ActionCable.Connection was made configurable in 66901c1849efae74c8a58fe0cb36afd487c067cc However, the reference here in Connection#getState was not updated to use the configurable property. This change remedies that and adds a test to verify it. Additionally, it backfills a test to ensure that Connection#open uses the configurable property. --- actioncable/test/javascript/src/test.js | 1 + .../test/javascript/src/unit/connection_test.js | 28 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 actioncable/test/javascript/src/unit/connection_test.js (limited to 'actioncable/test') diff --git a/actioncable/test/javascript/src/test.js b/actioncable/test/javascript/src/test.js index 1fca7ab4d3..eea1c0a408 100644 --- a/actioncable/test/javascript/src/test.js +++ b/actioncable/test/javascript/src/test.js @@ -1,5 +1,6 @@ import "./test_helpers/index" import "./unit/action_cable_test" +import "./unit/connection_test" import "./unit/consumer_test" import "./unit/subscription_test" import "./unit/subscriptions_test" diff --git a/actioncable/test/javascript/src/unit/connection_test.js b/actioncable/test/javascript/src/unit/connection_test.js new file mode 100644 index 0000000000..9b1a975bfb --- /dev/null +++ b/actioncable/test/javascript/src/unit/connection_test.js @@ -0,0 +1,28 @@ +import * as ActionCable from "../../../../app/javascript/action_cable/index" + +const {module, test} = QUnit + +module("ActionCable.Connection", () => { + module("#getState", () => { + test("uses the configured WebSocket adapter", assert => { + ActionCable.adapters.WebSocket = { foo: 1, BAR: "42" } + const connection = new ActionCable.Connection({}) + connection.webSocket = {} + connection.webSocket.readyState = 1 + assert.equal(connection.getState(), "foo") + connection.webSocket.readyState = "42" + assert.equal(connection.getState(), "bar") + }) + }) + + module("#open", () => { + test("uses the configured WebSocket adapter", assert => { + const FakeWebSocket = function() {} + ActionCable.adapters.WebSocket = FakeWebSocket + const connection = new ActionCable.Connection({}) + connection.monitor = { start() {} } + connection.open() + assert.equal(connection.webSocket instanceof FakeWebSocket, true) + }) + }) +}) -- cgit v1.2.3