Browse Source

test: increase coverage of internal/socket_list

PR-URL: https://github.com/nodejs/node/pull/12066
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
v6
DavidCai 8 years ago
committed by James M Snell
parent
commit
610ac7d858
  1. 1
      test/parallel/test-internal-socket-list-receive.js
  2. 22
      test/parallel/test-internal-socket-list-send.js

1
test/parallel/test-internal-socket-list-receive.js

@ -17,6 +17,7 @@ const key = 'test-key';
const list = new SocketListReceive(child, key); const list = new SocketListReceive(child, key);
list.child.emit('internalMessage', { key, cmd: 'NODE_SOCKET_NOTIFY_CLOSE' }); list.child.emit('internalMessage', { key, cmd: 'NODE_SOCKET_NOTIFY_CLOSE' });
list.child.emit('internalMessage', { key, cmd: 'NODE_SOCKET_GET_COUNT' });
} }
// Verify that a "NODE_SOCKET_ALL_CLOSED" message will be sent. // Verify that a "NODE_SOCKET_ALL_CLOSED" message will be sent.

22
test/parallel/test-internal-socket-list-send.js

@ -112,3 +112,25 @@ const key = 'test-key';
assert.strictEqual(child.listenerCount('disconnect'), 0); assert.strictEqual(child.listenerCount('disconnect'), 0);
})); }));
} }
// Verify that an error will be received in callback when child is
// disconnected after sending a message and before getting the reply.
{
const count = 1;
const child = Object.assign(new EventEmitter(), {
connected: true,
send: function(msg) {
process.nextTick(() => {
this.emit('disconnect');
this.emit('internalMessage', { key, count, cmd: 'NODE_SOCKET_COUNT' });
});
}
});
const list = new SocketListSend(child, key);
list.getConnections(common.mustCall((err, msg) => {
assert.strictEqual(err.message, 'child closed before reply');
assert.strictEqual(child.listenerCount('internalMessage'), 0);
}));
}

Loading…
Cancel
Save