mirror of https://github.com/jkjoy/sunpeiwen.git
55 lines
1.1 KiB
JavaScript
55 lines
1.1 KiB
JavaScript
|
var Buffer = require('buffer').Buffer
|
||
|
var fs = require('fs')
|
||
|
var test = require('tape')
|
||
|
|
||
|
var http = require('../..')
|
||
|
|
||
|
test('abort before response', function (t) {
|
||
|
var req = http.get('/basic.txt', function (res) {
|
||
|
t.fail('unexpected response')
|
||
|
})
|
||
|
req.abort()
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('abort on response', function (t) {
|
||
|
var req = http.get('/basic.txt', function (res) {
|
||
|
req.abort()
|
||
|
t.end()
|
||
|
|
||
|
res.on('end', function () {
|
||
|
t.fail('unexpected end')
|
||
|
})
|
||
|
|
||
|
res.on('data', function (data) {
|
||
|
t.fail('unexpected data')
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
|
||
|
test('abort on data', function (t) {
|
||
|
var req = http.get('/browserify.png?copies=5', function (res) {
|
||
|
var firstData = true
|
||
|
var failOnData = false
|
||
|
|
||
|
res.on('end', function () {
|
||
|
t.fail('unexpected end')
|
||
|
})
|
||
|
|
||
|
res.on('data', function (data) {
|
||
|
if (failOnData)
|
||
|
t.fail('unexpected data')
|
||
|
else if (firstData) {
|
||
|
firstData = false
|
||
|
req.abort()
|
||
|
t.end()
|
||
|
process.nextTick(function () {
|
||
|
// Wait for any data that may have been queued
|
||
|
// in the stream before considering data events
|
||
|
// as errors
|
||
|
failOnData = true
|
||
|
})
|
||
|
}
|
||
|
})
|
||
|
})
|
||
|
})
|