You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							55 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							55 lines
						
					
					
						
							1.1 KiB
						
					
					
				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 | 
						|
				}) | 
						|
			} | 
						|
		}) | 
						|
	}) | 
						|
}) |