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