{
	"basic": {
		"sent": [
			["NICK testbot", "Client sent NICK message"],
			["USER nodebot 8 * :nodeJS IRC client", "Client sent USER message"],
			["QUIT :node-irc says goodbye", "Client sent QUIT message"]
		],

		"received": [
			[":localhost 001 testbot :Welcome to the Internet Relay Chat Network testbot\r\n", "Received welcome message"]
		]
	},
	"double-CRLF": {
		"sent": [
			["NICK testbot", "Client sent NICK message"],
			["USER nodebot 8 * :nodeJS IRC client", "Client sent USER message"],
			["QUIT :node-irc says goodbye", "Client sent QUIT message"]
		],

		"received": [
			[":localhost 001 testbot :Welcome to the Internet Relay Chat Network testbot\r\n\r\n", "Received welcome message"]
		]
	},
	"parse-line": {
		":irc.dollyfish.net.nz 372 nodebot :The message of the day was last changed: 2012-6-16 23:57": {
			"prefix": "irc.dollyfish.net.nz",
			"server": "irc.dollyfish.net.nz",
			"command": "rpl_motd",
			"rawCommand": "372",
			"commandType": "reply",
			"args": ["nodebot", "The message of the day was last changed: 2012-6-16 23:57"]
		},
		":Ned!~martyn@irc.dollyfish.net.nz PRIVMSG #test :Hello nodebot!": {
			"prefix": "Ned!~martyn@irc.dollyfish.net.nz",
			"nick": "Ned",
			"user": "~martyn",
			"host": "irc.dollyfish.net.nz",
			"command": "PRIVMSG",
			"rawCommand": "PRIVMSG",
			"commandType": "normal",
			"args": ["#test", "Hello nodebot!"]
		},
		":Ned!~martyn@irc.dollyfish.net.nz PRIVMSG #test ::-)": {
			"prefix": "Ned!~martyn@irc.dollyfish.net.nz",
			"nick": "Ned",
			"user": "~martyn",
			"host": "irc.dollyfish.net.nz",
			"command": "PRIVMSG",
			"rawCommand": "PRIVMSG",
			"commandType": "normal",
			"args": ["#test", ":-)"]
		},
		":Ned!~martyn@irc.dollyfish.net.nz PRIVMSG #test ::": {
			"prefix": "Ned!~martyn@irc.dollyfish.net.nz",
			"nick": "Ned",
			"user": "~martyn",
			"host": "irc.dollyfish.net.nz",
			"command": "PRIVMSG",
			"rawCommand": "PRIVMSG",
			"commandType": "normal",
			"args": ["#test", ":"]
		},
		":Ned!~martyn@irc.dollyfish.net.nz PRIVMSG #test ::^:^:": {
			"prefix": "Ned!~martyn@irc.dollyfish.net.nz",
			"nick": "Ned",
			"user": "~martyn",
			"host": "irc.dollyfish.net.nz",
			"command": "PRIVMSG",
			"rawCommand": "PRIVMSG",
			"commandType": "normal",
			"args": ["#test", ":^:^:"]
		},
		":some.irc.net 324 webuser #channel +Cnj 5:10": {
			"prefix": "some.irc.net",
			"server": "some.irc.net",
			"command": "rpl_channelmodeis",
			"rawCommand": "324",
			"commandType": "reply",
			"args": ["webuser", "#channel", "+Cnj", "5:10"]
		},
		":nick!user@host QUIT :Ping timeout: 252 seconds": {
			"prefix": "nick!user@host",
			"nick": "nick",
			"user": "user",
			"host": "host",
			"command": "QUIT",
			"rawCommand": "QUIT",
			"commandType": "normal",
			"args": ["Ping timeout: 252 seconds"]
		},
		":nick!user@host PRIVMSG #channel :so : colons: :are :: not a problem ::::": {
			"prefix": "nick!user@host",
			"nick": "nick",
			"user": "user",
			"host": "host",
			"command": "PRIVMSG",
			"rawCommand": "PRIVMSG",
			"commandType": "normal",
			"args": ["#channel", "so : colons: :are :: not a problem ::::"]
		},
		":nick!user@host PRIVMSG #channel :\u000314,01\u001fneither are colors or styles\u001f\u0003": {
			"prefix": "nick!user@host",
			"nick": "nick",
			"user": "user",
			"host": "host",
			"command": "PRIVMSG",
			"rawCommand": "PRIVMSG",
			"commandType": "normal",
			"args": ["#channel", "neither are colors or styles"],
			"stripColors": true
		},
		":nick!user@host PRIVMSG #channel :\u000314,01\u001fwe can leave styles and colors alone if desired\u001f\u0003": {
			"prefix": "nick!user@host",
			"nick": "nick",
			"user": "user",
			"host": "host",
			"command": "PRIVMSG",
			"rawCommand": "PRIVMSG",
			"commandType": "normal",
			"args": ["#channel", "\u000314,01\u001fwe can leave styles and colors alone if desired\u001f\u0003"],
			"stripColors": false
		},
		":pratchett.freenode.net 324 nodebot #ubuntu +CLcntjf 5:10 #ubuntu-unregged": {
			"prefix": "pratchett.freenode.net",
			"server": "pratchett.freenode.net",
			"command": "rpl_channelmodeis",
			"rawCommand": "324",
			"commandType": "reply",
			"args": ["nodebot", "#ubuntu", "+CLcntjf", "5:10", "#ubuntu-unregged"]
		}

	},
	"433-before-001": {
		"sent": [
			["NICK testbot", "Client sent NICK message"],
			["USER nodebot 8 * :nodeJS IRC client", "Client sent USER message"],
			["NICK testbot1", "Client sent proper response to 433 nickname in use message"],
			["QUIT :node-irc says goodbye", "Client sent QUIT message"]
		],

		"received": [
			[":localhost 433 * testbot :Nickname is already in use.\r\n", "Received nick in use error"],
			[":localhost 001 testbot1 :Welcome to the Internet Relay Chat Network testbot\r\n", "Received welcome message"]
		],
		"clientInfo": [
			"hostmask is as expected after 433",
			"nick is as expected after 433",
			"maxLineLength is as expected after 433"
		]
	},
    "convert-encoding": {
        "causesException": [
            ":ubottu!ubottu@ubuntu/bot/ubottu MODE #ubuntu -bo *!~Brian@* ubottu\r\n",
            "Elizabeth",
            ":sblack1!~sblack1@unaffiliated/sblack1 NICK :sblack\r\n",
            ":TijG!~TijG@null.1ago.be PRIVMSG #ubuntu :ThinkPad\r\n"
        ]
    },
    "_splitLongLines": [
        {
            "input": "abcde ",
            "maxLength": 5,
            "result": ["abcde"]
        },
        {
            "input": "abcde",
            "maxLength": 5,
            "result": ["abcde"]
        },
        {
            "input": "abcdefghijklmnopqrstuvwxyz",
            "maxLength": 5,
            "result": ["abcde", "fghij", "klmno", "pqrst", "uvwxy", "z"]
        },
        {
            "input": "abc abcdef abc abcd abc",
            "maxLength": 5,
            "result": ["abc", "abcde", "f abc", "abcd", "abc"]
        }
    ],
	"_splitLongLines_no_max": [
		{
			"input": "abcdefghijklmnopqrstuvwxyz",
			"result": ["abcdefghijklmnopqrstuvwxyz"]
		}
	],
	"_speak": [
		{
			"length": 30,
			"expected": 10
		},
		{
			"length": 7,
			"expected": 1
		}
	]
}
