104 lines
3.3 KiB
CoffeeScript
104 lines
3.3 KiB
CoffeeScript
|
#global casper
|
||
|
|
||
|
#eslint strict:0
|
||
|
|
||
|
utils = require "utils"
|
||
|
|
||
|
if phantom.casperEngine == 'slimerjs'
|
||
|
casper.test.skip(6, 'request.abort() test is broken for slimerjs')
|
||
|
casper.test.done()
|
||
|
else
|
||
|
SERVER = 'http://localhost:54321/'
|
||
|
ORIGINAL_URL = "tests/site/index.html"
|
||
|
CHANGED_URL = "tests/site/index.html?foo=bar"
|
||
|
|
||
|
setToTrueOnResourceRequested = false
|
||
|
setToTrueOnResourceReceived = false
|
||
|
requestURLRequested = ''
|
||
|
requestURLReceived = ''
|
||
|
|
||
|
onResourceRequested = (casper, requestData, request) ->
|
||
|
if requestData.url == (SERVER + ORIGINAL_URL)
|
||
|
setToTrueOnResourceRequested = true
|
||
|
requestURLRequested = requestData.url
|
||
|
|
||
|
onResourceRequestedWithAbort = (casper, requestData, request) ->
|
||
|
if requestData.url == (SERVER + ORIGINAL_URL)
|
||
|
request.abort()
|
||
|
|
||
|
onResourceRequestedWithChangeURL = (casper, requestData, request) ->
|
||
|
if requestData.url == (SERVER + ORIGINAL_URL)
|
||
|
request.changeUrl(SERVER + CHANGED_URL)
|
||
|
|
||
|
onResourceReceived = (casper, response) ->
|
||
|
if response.url == (SERVER + ORIGINAL_URL)
|
||
|
setToTrueOnResourceReceived = true
|
||
|
requestURLReceived = response.url
|
||
|
|
||
|
onResourceReceivedWithChangeURL = (casper, response) ->
|
||
|
if response.url == (SERVER + CHANGED_URL)
|
||
|
requestURLReceived = response.url
|
||
|
|
||
|
setUp = (test) ->
|
||
|
casper.options.onResourceRequested = onResourceRequested
|
||
|
casper.options.onResourceReceived = onResourceReceived
|
||
|
casper.start()
|
||
|
|
||
|
setUpWithAbort = (test) ->
|
||
|
casper.options.onResourceRequested = onResourceRequestedWithAbort
|
||
|
casper.options.onResourceReceived = onResourceReceived
|
||
|
casper.start()
|
||
|
|
||
|
setUpWithChangeURL = (test) ->
|
||
|
casper.options.onResourceRequested = onResourceRequestedWithChangeURL
|
||
|
casper.options.onResourceReceived = onResourceReceivedWithChangeURL
|
||
|
casper.start()
|
||
|
|
||
|
tearDown = (test) ->
|
||
|
setToTrueOnResourceRequested = false
|
||
|
setToTrueOnResourceReceived = false
|
||
|
casper.options.onResourceRequested = null
|
||
|
casper.options.onResourceReceived = null
|
||
|
|
||
|
|
||
|
casper.test.begin "onResourceRequested tests without abort/override", 4,
|
||
|
setUp: setUp
|
||
|
tearDown: tearDown
|
||
|
test: (test) ->
|
||
|
casper.open(ORIGINAL_URL).then ->
|
||
|
|
||
|
casper.wait 200, ->
|
||
|
test.assertEquals setToTrueOnResourceRequested, true, "Casper.options.onResourceRequested called successfully"
|
||
|
test.assertEquals requestURLRequested, SERVER+ORIGINAL_URL, "request url successfully recorded"
|
||
|
test.assertEquals setToTrueOnResourceReceived, true, "Casper.options.onResourceReceived called successfully"
|
||
|
test.assertEquals requestURLReceived, SERVER+ORIGINAL_URL, "response url successfully recorded"
|
||
|
|
||
|
casper.run ->
|
||
|
test.done()
|
||
|
|
||
|
|
||
|
casper.test.begin "onResourceRequested tests with request.abort()", 1,
|
||
|
setUp: setUpWithAbort
|
||
|
tearDown: tearDown
|
||
|
test: (test) ->
|
||
|
casper.open(ORIGINAL_URL).then ->
|
||
|
|
||
|
casper.wait 200, ->
|
||
|
test.assertNotEquals setToTrueOnResourceReceived, true, "Casper.options.onResourceReceived correctly never called"
|
||
|
|
||
|
casper.run ->
|
||
|
test.done()
|
||
|
|
||
|
|
||
|
casper.test.begin "onResourceRequested tests with request.changeUrl()", 1,
|
||
|
setUp: setUpWithChangeURL
|
||
|
tearDown: tearDown
|
||
|
test: (test) ->
|
||
|
casper.open(ORIGINAL_URL).then ->
|
||
|
|
||
|
casper.wait 200, ->
|
||
|
test.assertEquals requestURLReceived, SERVER+CHANGED_URL, "response url successfully changed"
|
||
|
|
||
|
casper.run ->
|
||
|
test.done()
|