diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2016-05-09 11:20:26 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2016-05-09 11:20:26 -0700 |
commit | 288c01fc5f09a052918c3378a209063a44dab73e (patch) | |
tree | 7a199449418f9e85e44fa40495ffc49168d98f72 /actioncable/test/javascript/src/unit | |
parent | 2399cfe23e40825229a498a81341beb85a077069 (diff) | |
parent | 71d406697266fc2525706361b86aeb85183fe4c7 (diff) | |
download | rails-288c01fc5f09a052918c3378a209063a44dab73e.tar.gz rails-288c01fc5f09a052918c3378a209063a44dab73e.tar.bz2 rails-288c01fc5f09a052918c3378a209063a44dab73e.zip |
Merge pull request #24935 from javan/actioncable-javascript-tests
WIP: Action Cable JavaScript tests
Diffstat (limited to 'actioncable/test/javascript/src/unit')
-rw-r--r-- | actioncable/test/javascript/src/unit/action_cable_test.coffee | 24 | ||||
-rw-r--r-- | actioncable/test/javascript/src/unit/consumer_test.coffee | 31 |
2 files changed, 55 insertions, 0 deletions
diff --git a/actioncable/test/javascript/src/unit/action_cable_test.coffee b/actioncable/test/javascript/src/unit/action_cable_test.coffee new file mode 100644 index 0000000000..f9eff64769 --- /dev/null +++ b/actioncable/test/javascript/src/unit/action_cable_test.coffee @@ -0,0 +1,24 @@ +{module, test} = QUnit +{testURL} = ActionCable.TestHelpers + +module "ActionCable", -> + module "#createConsumer", -> + test "uses specified URL", (assert) -> + consumer = ActionCable.createConsumer(testURL) + assert.equal consumer.url, testURL + + test "uses default URL", (assert) -> + pattern = ///#{ActionCable.INTERNAL.default_mount_path}$/// + consumer = ActionCable.createConsumer() + assert.ok pattern.test(consumer.url), "Expected #{consumer.url} to match #{pattern}" + + test "uses URL from meta tag", (assert) -> + element = document.createElement("meta") + element.setAttribute("name", "action-cable-url") + element.setAttribute("content", testURL) + + document.head.appendChild(element) + consumer = ActionCable.createConsumer() + document.head.removeChild(element) + + assert.equal consumer.url, testURL diff --git a/actioncable/test/javascript/src/unit/consumer_test.coffee b/actioncable/test/javascript/src/unit/consumer_test.coffee new file mode 100644 index 0000000000..d8b1450ad8 --- /dev/null +++ b/actioncable/test/javascript/src/unit/consumer_test.coffee @@ -0,0 +1,31 @@ +{module, test} = QUnit +{testURL, createConsumer} = ActionCable.TestHelpers + +module "ActionCable.Consumer", -> + test "#connect", (assert) -> + done = assert.async() + + createConsumer testURL, (consumer, server) -> + server.on "connection", -> + clients = server.clients() + assert.equal clients.length, 1 + assert.equal clients[0].readyState, WebSocket.OPEN + done() + + consumer.connect() + + test "#disconnect", (assert) -> + done = assert.async() + + createConsumer testURL, (consumer, server) -> + server.on "connection", -> + clients = server.clients() + assert.equal clients.length, 1 + + clients[0].addEventListener "close", (event) -> + assert.equal event.type, "close" + done() + + consumer.disconnect() + + consumer.connect() |