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
			| 
								 
											4 years ago
										 
									 | 
							
								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
							 | 
						||
| 
								 | 
							
												})
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										})
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
								})
							 |