import std.range : only, takeNone; import virc.common : User; { immutable reply = parseNumeric!(Numeric.RPL_WHOISSERVER)(only("someone", "whoisuser", "example.net", "Mysterious example server")); assert(reply.get.user == User("whoisuser")); assert(reply.get.server == "example.net"); assert(reply.get.serverDescription == "Mysterious example server"); } { immutable reply = parseNumeric!(Numeric.RPL_WHOISSERVER)(only("someone", "whoisuser", "example.net")); assert(reply.isNull); } { immutable reply = parseNumeric!(Numeric.RPL_WHOISSERVER)(only("someone", "whoisuser")); assert(reply.isNull); } { immutable reply = parseNumeric!(Numeric.RPL_WHOISSERVER)(only("someone")); assert(reply.isNull); } { immutable reply = parseNumeric!(Numeric.RPL_WHOISSERVER)(takeNone(only(""))); assert(reply.isNull); }
Parser for RPL_WHOISSERVER
Format is 312 <client> <nick> <server mask> :<server description>