diff --git a/test.js b/test.js index 4da58426..3aeca7cb 100755 --- a/test.js +++ b/test.js @@ -4,25 +4,43 @@ var irc = require('./lib/irc.js'); var util = require('util'); var color = require('ansi-color').set; +var ircServer = process.argv[2] || process.env.IRCSERVER || 'localhost'; + +console.log('Starting IRC connection to', ircServer, 'with REPL'); + var c = new irc.Client( - 'irc.dollyfish.net.nz', + ircServer, 'nodebot', { channels: ['#test'], - //debug: true + debug: true } ); -c.addListener('raw', function(message) { console.log('raw: ', message); }); +var messages = []; +c.addListener('raw', function(message) { messages.push(message); }); +c.addListener('unhandled', function(message) { + console.log(color('error: ', 'red'), message); +}); c.addListener('error', function(message) { console.log(color('error: ', 'red'), message); }); +function printRecent(number) { + number = number || 1; + var toPrint = messages.slice(messages.length-number, messages.length); + toPrint.forEach(function(message) { + console.log(message); + }); +} + var repl = require('repl').start('> '); repl.context.repl = repl; repl.context.util = util; repl.context.irc = irc; repl.context.c = c; +repl.context.printRecent = printRecent; +repl.context.recent = printRecent; -repl.inputStream.addListener('close', function() { +repl.addListener('exit', function() { console.log("\nClosing session"); c.disconnect('Closing session'); });