//Numeric.RPL_LOGGEDIN import std.range : only, takeNone; { immutable logon = parseNumeric!(Numeric.RPL_LOGGEDIN)(only("test", "someone!someIdent@example.net", "some_account", "Well hello there")); assert(logon.get.mask.nickname == "someone"); assert(logon.get.mask.ident == "someIdent"); assert(logon.get.mask.host == "example.net"); assert(logon.get.account == "some_account"); } { immutable logon = parseNumeric!(Numeric.RPL_LOGGEDIN)(takeNone(only(""))); assert(logon.isNull); } { immutable logon = parseNumeric!(Numeric.RPL_LOGGEDIN)(only("test")); assert(logon.isNull); } { immutable logon = parseNumeric!(Numeric.RPL_LOGGEDIN)(only("test", "someone!someIdent@example.net")); assert(logon.isNull); }
Format is 900 <nick> <nick>!<ident>@<host> <account> :You are now logged in as <user>