Skip to content

Commit 7b3fed3

Browse files
committed
Add test case for sending quit message when disconnecting.
1 parent be1084c commit 7b3fed3

2 files changed

Lines changed: 47 additions & 1 deletion

File tree

test/data/fixtures.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,5 +193,16 @@
193193
"length": 7,
194194
"expected": 1
195195
}
196-
]
196+
],
197+
"quit": {
198+
"sent": [
199+
["NICK testbot", "Client sent NICK message"],
200+
["USER nodebot 8 * :nodeJS IRC client", "Client sent USER message"],
201+
["QUIT :quitting as a test", "Client sent QUIT message"]
202+
],
203+
204+
"received": [
205+
[":localhost 001 testbot :Welcome to the Internet Relay Chat Network testbot\r\n", "Received welcome message"]
206+
]
207+
}
197208
}

test/test-quit.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
var irc = require('../lib/irc');
2+
var test = require('tape');
3+
4+
var testHelpers = require('./helpers');
5+
6+
test('connect and quit with message', function(t) {
7+
var client, mock, expected;
8+
9+
mock = testHelpers.MockIrcd();
10+
client = new irc.Client('localhost', 'testbot', {debug: true});
11+
12+
expected = testHelpers.getFixtures('quit');
13+
14+
t.plan(expected.sent.length + expected.received.length + 1);
15+
16+
mock.server.on('connection', function() {
17+
mock.send(':localhost 001 testbot :Welcome to the Internet Relay Chat Network testbot\r\n');
18+
});
19+
20+
client.on('registered', function() {
21+
t.equal(mock.outgoing[0], expected.received[0][0], expected.received[0][1]);
22+
client.disconnect('quitting as a test', function() {});
23+
});
24+
25+
mock.on('end', function() {
26+
var msgs = mock.getIncomingMsgs();
27+
28+
t.equal(msgs.length, expected.sent.length, 'Server received the correct amount of messages.')
29+
30+
for (var i = 0; i < msgs.length; i++) {
31+
t.equal(msgs[i], expected.sent[i][0], expected.sent[i][1]);
32+
}
33+
mock.close();
34+
});
35+
});

0 commit comments

Comments
 (0)