mirror of https://github.com/lukechilds/node.git
Fedor Indutny
10 years ago
1 changed files with 0 additions and 90 deletions
@ -1,90 +0,0 @@ |
|||
var common = require('../common'); |
|||
var assert = require('assert'); |
|||
var http = require('http'); |
|||
|
|||
var clientRequest = null; |
|||
var eventCount = 0; |
|||
var testTickCount = 3; |
|||
|
|||
var server = http.createServer(function(req, res) { |
|||
console.log('server: request'); |
|||
|
|||
res.on('finish', function() { |
|||
console.log('server: response finish'); |
|||
eventCount++; |
|||
}); |
|||
res.on('close', function() { |
|||
console.log('server: response close'); |
|||
eventCount++; |
|||
}); |
|||
|
|||
console.log('client: aborting request'); |
|||
clientRequest.abort(); |
|||
|
|||
var ticks = 0; |
|||
function tick() { |
|||
console.log('server: tick ' + ticks + |
|||
(req.connection.destroyed ? ' (connection destroyed!)' : '')); |
|||
|
|||
if (ticks < testTickCount) { |
|||
ticks++; |
|||
setImmediate(tick); |
|||
} else { |
|||
sendResponse(); |
|||
} |
|||
} |
|||
tick(); |
|||
|
|||
function sendResponse() { |
|||
console.log('server: sending response'); |
|||
res.writeHead(200, {'Content-Type': 'text/plain'}); |
|||
res.end('Response\n'); |
|||
console.log('server: res.end() returned'); |
|||
|
|||
handleResponseEnd(); |
|||
} |
|||
}); |
|||
|
|||
server.on('listening', function() { |
|||
console.log('server: listening on port ' + common.PORT); |
|||
console.log('-----------------------------------------------------'); |
|||
startRequest(); |
|||
}); |
|||
|
|||
server.on('connection', function(connection) { |
|||
console.log('server: connection'); |
|||
connection.on('close', function() { |
|||
console.log('server: connection close'); |
|||
}); |
|||
}); |
|||
|
|||
server.on('close', function() { |
|||
console.log('server: close'); |
|||
}); |
|||
|
|||
server.listen(common.PORT); |
|||
|
|||
function startRequest() { |
|||
console.log('client: starting request - testing with %d ticks after abort()', |
|||
testTickCount); |
|||
eventCount = 0; |
|||
|
|||
var options = {port: common.PORT, path: '/'}; |
|||
clientRequest = http.get(options, function() {}); |
|||
clientRequest.on('error', function() {}); |
|||
} |
|||
|
|||
function handleResponseEnd() { |
|||
setImmediate(function() { |
|||
setImmediate(function() { |
|||
assert.equal(eventCount, 1); |
|||
|
|||
if (testTickCount > 0) { |
|||
testTickCount--; |
|||
startRequest(); |
|||
} else { |
|||
server.close(); |
|||
} |
|||
}); |
|||
}); |
|||
} |
Loading…
Reference in new issue