diff options
author | Richard Macklin <richard.github@nrm.com> | 2018-12-01 14:48:24 -0800 |
---|---|---|
committer | Richard Macklin <richard.github@nrm.com> | 2018-12-01 14:49:43 -0800 |
commit | 2bb4fdef5efc70327c018e982ff809a29ac6708b (patch) | |
tree | 51bf25fefd24540a84bb8b27c31e02123e58881c /actioncable/test | |
parent | aa1ba9cb244b1e03d36aaa941ae4e91c6713b77e (diff) | |
download | rails-2bb4fdef5efc70327c018e982ff809a29ac6708b.tar.gz rails-2bb4fdef5efc70327c018e982ff809a29ac6708b.tar.bz2 rails-2bb4fdef5efc70327c018e982ff809a29ac6708b.zip |
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.
Diffstat (limited to 'actioncable/test')
-rw-r--r-- | actioncable/test/javascript/src/test.js | 1 | ||||
-rw-r--r-- | actioncable/test/javascript/src/unit/connection_test.js | 28 |
2 files changed, 29 insertions, 0 deletions
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) + }) + }) +}) |