node/test/parallel/test-tcp-wrap-connect.js
Daniel Bevenius 3c5cf12709 test: add and assert readable/writable arguments
Currently the readable and writable arguments are not specified in the
req.oncomplete method. Adding and asserting that they are always true
(which is always the case for TCP). This might seem unnecessary but it
can't hurt to have them to pickup any breaking modifications made to
ConnectionWrap::AfterConnect in the future.

PR-URL: https://github.com/nodejs/node/pull/8815
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-10-02 07:09:18 +02:00

59 lines
1.5 KiB
JavaScript

'use strict';
require('../common');
var assert = require('assert');
var TCP = process.binding('tcp_wrap').TCP;
var TCPConnectWrap = process.binding('tcp_wrap').TCPConnectWrap;
var ShutdownWrap = process.binding('stream_wrap').ShutdownWrap;
function makeConnection() {
var client = new TCP();
var req = new TCPConnectWrap();
var err = client.connect(req, '127.0.0.1', this.address().port);
assert.strictEqual(err, 0);
req.oncomplete = function(status, client_, req_, readable, writable) {
assert.strictEqual(0, status);
assert.strictEqual(client, client_);
assert.strictEqual(req, req_);
assert.strictEqual(true, readable);
assert.strictEqual(true, writable);
var shutdownReq = new ShutdownWrap();
var err = client.shutdown(shutdownReq);
assert.strictEqual(err, 0);
shutdownReq.oncomplete = function(status, client_, req_) {
assert.strictEqual(0, status);
assert.strictEqual(client, client_);
assert.strictEqual(shutdownReq, req_);
shutdownCount++;
client.close();
};
};
}
/////
var connectCount = 0;
var endCount = 0;
var shutdownCount = 0;
var server = require('net').Server(function(s) {
connectCount++;
s.resume();
s.on('end', function() {
endCount++;
s.destroy();
server.close();
});
});
server.listen(0, makeConnection);
process.on('exit', function() {
assert.strictEqual(1, shutdownCount);
assert.strictEqual(1, connectCount);
assert.strictEqual(1, endCount);
});