xhr2
Version:
XMLHttpRequest emulation for node.js
48 lines (43 loc) • 1.62 kB
text/coffeescript
describe 'XMLHttpRequest', ->
beforeEach ->
= new XMLHttpRequest
= 'http://localhost:8912/test/fixtures/hello.txt'
= 'http://localhost:8912/_/response'
= JSON.stringify
code: 401, status: 'Unauthorized',
body: JSON.stringify(error: 'Credential error'),
headers:
'Content-Type': 'application/json', 'Content-Length': '28'
describe '#status', ->
it 'is 200 for a normal request', (done) ->
.open 'GET',
_done = false
.addEventListener 'readystatechange', =>
return if _done
if .readyState < XMLHttpRequest.HEADERS_RECEIVED
expect(.status).to.equal 0
expect(.statusText).to.equal ''
else
expect(.status).to.equal 200
expect(.statusText).to.be.ok
expect(.statusText).to.not.equal ''
if .readyState is XMLHttpRequest.DONE
_done = true
done()
.send()
it 'returns the server-reported status', (done) ->
.open 'POST',
_done = false
.addEventListener 'readystatechange', =>
return if _done
if .readyState < XMLHttpRequest.HEADERS_RECEIVED
expect(.status).to.equal 0
expect(.statusText).to.equal ''
else
expect(.status).to.equal 401
expect(.statusText).to.be.ok
expect(.statusText).to.not.equal ''
if .readyState is XMLHttpRequest.DONE
_done = true
done()
.send