{
  "good": [
    ":js-irc!n=js-irc@bas1-hamilton14-1177553042.dsl.bell.ca JOIN #runlevel6\r\n",
    ":brown.freenode.net 332 js-irc #runlevel6 :http://www.runlevel6.org/ | Cakefarts!\r\n",
    ":brown.freenode.net 333 js-irc #runlevel6 gf3 1252481170\r\n",
    ":brown.freenode.net 353 js-irc = #runlevel6 :js-irc @gf3 @ChanServ \r\n",
    ":brown.freenode.net 366 js-irc #runlevel6 :End of /NAMES list.\r\n",
    ":ChanServ!ChanServ@services. NOTICE js-irc :[#runlevel6] Welcome to #Runlevel6, updates available at http://wiki.runlevel6.org\r\n",
    ":brown.freenode.net 328 js-irc #runlevel6 :http://www.runlevel6.org\r\n",
    ":gf3!n=gianni@pdpc/supporter/active/gf3 PRIVMSG #runlevel6 :oh hai\r\n",
    "NOTICE AUTH :*** Looking up your hostname...\r\n",
    "NOTICE AUTH :*** Found your hostname, welcome back\r\n",
    "NOTICE AUTH :*** No identd (auth) response\r\n",
    ":crichton.freenode.net 001 js-irc :Welcome to the freenode IRC Network js-irc\r\n",
    ":crichton.freenode.net 250 js-irc :Highest connection count: 10258 (10257 clients) (147037 since server was (re)started)\r\n",
    ":crichton.freenode.net 372 js-irc :- our corporate sponsor Canonical Ltd (http://www.canonical.com).\r\n",
    ":crichton.freenode.net 372 js-irc :- freenode runs an open proxy scanner. Your use of the network\r\n",
    ":crichton.freenode.net 372 js-irc :- you can help out over at http://freenode.net/pdpc_donations.shtml\r\n",
    ":js-irc!n=js-irc@bas1-hamilton14-1177553042.dsl.bell.ca JOIN #runlevel6\r\n",
    ":ChanServ!ChanServ@services. NOTICE js-irc :[#runlevel6] Welcome to #Runlevel6, updates available at http://wiki.runlevel6.org\r\n",
    ":gf3!n=gianni@pdpc/supporter/active/gf3 PRIVMSG #runlevel6 :hi\r\n",
    ":gf3!n=gianni@pdpc/supporter/active/gf3 PRIVMSG #runlevel6 :NO U LOL\r\n",
    ":gf3!n=gianni@pdpc/supporter/active/gf3 PRIVMSG js-irc :pmsg\r\n",
    ":frigg!~eir@freenode/utility-bot/frigg PRIVMSG protobot :VERSION\r\n",
    ":frigg!~eir@freenode/utility-bot/frigg PRIVMSG js-irc :VERSION\r\n",
    ":protobot!~protobot@CPE00226b711143-CM001bd7abd99c.cpe.net.cable.rogers.com JOIN #runlevel6\r\n",
    ":dandean!~dandean@c-66-235-3-99.sea.wa.customer.broadstripe.net QUIT :Ping timeout: 276 seconds\r\n",
    ":Hornet!~hornet@cpc3-ipsw1-0-0-cust381.5-4.cable.virginmedia.com JOIN #prototype\r\n",
    ":der|!~der@xxx.xxx.xxx.xxx PRIVMSG #Node.js :foo\r\n",
    ":dfr|mac!dfr|work@nat/google/x-eltajcubwujzgfkk QUIT :Ping timeout: 240 seconds\r\n",
    ":leguin.freenode.net 333 basic-irc-js-bot #nlogax basic-irc-js-bot!~irc-js@c-89-160-40-86.cust.bredband2.com 1332238371\r\n",
    ":topic@setter.com TOPIC #topicz :Nice topic\r\n",
    ":card.freenode.net 353 dm5000 @ #nlogax :dm5000 nlogax\r\n",
    ":holmes.freenode.net 004 ircjsbot holmes.freenode.net ircd-seven-1.1.3 DOQRSZaghilopswz CFILMPQbcefgijklmnopqrstvz bkloveqjfI\r\n",
    ":holmes.freenode.net 470 ircjsbot #jquery-ot #pro-verflow :Forwarding to another channel\r\n",
    ":nlogax!~nlogax@unaffiliated/nlogax KICK #nlogax ircjsbot :ircjsbot\r\n",
    ":hitchcock.freenode.net 433 * hsbot :Nickname is already in use.\r\n",
    ":card.freenode.net MODE #jquery-ot +oo david_mark ThrushAAX\r\n"
  ],
  "bad": [
    ":js-irc!n=js-irc JOIN :#runlevel6\r\n",
    "utter nonsense"
  ],
  "//": "Should parse, but need not serialize into identical strings",
  "weird": [
    ":card.freenode.net MODE #jquery-ot +oo david_mark ThrushAAX   \r\n"
  ],
  "353": [
    ":card.freenode.net 353 dm5000 @ #nlogax :dm5000 nlogax\r\n"
  ]
}