girc
Version:
IRC Client library
36 lines (33 loc) • 1.46 kB
JavaScript
/*jslint node: true, vars: true*/
/*global describe, it*/
;
describe('plugins/nick.js', function () {
var stream = new (require('stream').PassThrough)();
var cmngr = new (require('../../lib/connectionManager'))({id: "test_plugin_nick", nick: "testnick"}, stream);
var con = cmngr.getConnection('test_plugin_nick');
stream.emit('connect');
describe('on NICK', function () {
it('should emit "nick"', function (done) {
con.once('nick', function (event) {
event.user.getNick().should.equal('newnick');
event.oldNick.should.equal('testnick');
done();
});
stream.write(':testnick!testuser@testhost.com NICK newnick\r\n');
});
});
describe('on ERR_NICKNAMEINUSE', function () {
it('should append _ to nick', function (done) {
con.nick('testnick');
stream.write(':vulcanus.kerat.net 433 * testnick :Nickname is already in use.\r\n');
process.nextTick(function () {
con.getUser().getNick().should.equal('testnick_');
stream.write(':vulcanus.kerat.net 433 * testnick_ :Nickname is already in use.\r\n');
process.nextTick(function () {
con.getUser().getNick().should.equal('testnick__');
done();
});
});
});
});
});