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 }) } }) }) })