{module, test} = QUnit
{testURL} = ActionCable.TestHelpers
module "ActionCable", ->
module "Adapters", ->
module "WebSocket", ->
test "default is window.WebSocket", (assert) ->
assert.equal ActionCable.WebSocket, window.WebSocket
test "configurable", (assert) ->
ActionCable.WebSocket = ""
assert.equal ActionCable.WebSocket, ""
module "logger", ->
test "default is window.console", (assert) ->
assert.equal ActionCable.logger, window.console
test "configurable", (assert) ->
ActionCable.logger = ""
assert.equal ActionCable.logger, ""
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