coffea
Version:
event based and extensible nodejs irc client library with multi-network support
381 lines (311 loc) • 12.1 kB
JavaScript
/*jslint node: true*/
/*jslint expr: true*/
/*global describe, it*/
;
var coffea = require('../..');
var Stream = require('stream').PassThrough;
describe('Formatting', function() {
describe('Colours:', function () {
it('01 : Black', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000301');
done();
});
});
client.nick('test');
client.send('#test', client.format.black);
});
it('02 : Navy', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000302');
done();
});
});
client.nick('test');
client.send('#test', client.format.navy);
});
it('03 : Green', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000303');
done();
});
});
client.nick('test');
client.send('#test', client.format.green);
});
it('04 : Red', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000304');
done();
});
});
client.nick('test');
client.send('#test', client.format.red);
});
it('05 : Brown', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000305');
done();
});
});
client.nick('test');
client.send('#test', client.format.brown);
});
it('06 : Purple', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000306');
done();
});
});
client.nick('test');
client.send('#test', client.format.purple);
});
it('07 : Olive', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000307');
done();
});
});
client.nick('test');
client.send('#test', client.format.olive);
});
it('08 : Yellow', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000308');
done();
});
});
client.nick('test');
client.send('#test', client.format.yellow);
});
it('09 : Lime', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000309');
done();
});
});
client.nick('test');
client.send('#test', client.format.lime);
});
it('10 : Teal', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000310');
done();
});
});
client.nick('test');
client.send('#test', client.format.teal);
});
it('11 : Aqua', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000311');
done();
});
});
client.nick('test');
client.send('#test', client.format.aqua);
});
it('12 : Blue', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000312');
done();
});
});
client.nick('test');
client.send('#test', client.format.blue);
});
it('13 : Pink', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000313');
done();
});
});
client.nick('test');
client.send('#test', client.format.pink);
});
it('14 : Dark Gray', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000314');
done();
});
});
client.nick('test');
client.send('#test', client.format.dgray);
});
it('15 : Light Gray', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000315');
done();
});
});
client.nick('test');
client.send('#test', client.format.lgray);
});
it('16 : White', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000316');
done();
});
});
client.nick('test');
client.send('#test', client.format.white);
});
});
describe('Formatters:', function () {
it('Bold', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u0002');
done();
});
});
client.nick('test');
client.send('#test', client.format.bold);
});
it('Normal', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000f');
done();
});
});
client.nick('test');
client.send('#test', client.format.normal);
});
it('Italics', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u001d');
done();
});
});
client.nick('test');
client.send('#test', client.format.italic);
});
it('Underline', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u001f');
done();
});
});
client.nick('test');
client.send('#test', client.format.underline);
});
it('Reset Formatting/Colour', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u000f');
done();
});
});
client.nick('test');
client.send('#test', client.format.reset);
});
it('Zero Width Space', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :\u200b');
done();
});
});
client.nick('test');
client.send('#test', client.format.zwsp);
});
it('Replaces parts of message with Zero Width Spaces', function (done) {
var client = coffea(null, false);
var st1 = new Stream();
var st1_id = client.add(st1);
client.once('data', function (data) {
client.once('data', function (data) {
data.string.should.equal('PRIVMSG #test :t\u200be\u200bs\u200bt: Hey there!');
done();
});
});
client.nick('test');
client.send('#test', client.format.unhighlight('test') + ": Hey there!");
});
});
});