tikiwiki/packages/tiki-pkg-casperjs/jerome-breton/casperjs/tests/suites/casper/request.coffee

104 lines
3.3 KiB
CoffeeScript
Raw Permalink Normal View History

2023-11-20 21:52:04 +01:00
#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()