AtlatestRepositorysigil-irc
1
;;; Tests for numeric reply constants and lookup helpers.3
(import (sigil test)4
(sigil irc numerics))6
(test-group "Numeric reply constants"8
(test "registration block"9
(assert-equal "001" RPL-WELCOME)10
(assert-equal "002" RPL-YOURHOST)11
(assert-equal "003" RPL-CREATED)12
(assert-equal "004" RPL-MYINFO)13
(assert-equal "005" RPL-ISUPPORT))15
(test "channel block"16
(assert-equal "332" RPL-TOPIC)17
(assert-equal "353" RPL-NAMREPLY)18
(assert-equal "366" RPL-ENDOFNAMES))20
(test "common errors"21
(assert-equal "401" ERR-NOSUCHNICK)22
(assert-equal "421" ERR-UNKNOWNCOMMAND)23
(assert-equal "433" ERR-NICKNAMEINUSE)24
(assert-equal "461" ERR-NEEDMOREPARAMS))26
(test "SASL block"27
(assert-equal "900" RPL-LOGGEDIN)28
(assert-equal "903" RPL-SASLSUCCESS)29
(assert-equal "904" ERR-SASLFAIL))31
(test "MONITOR block"32
(assert-equal "730" RPL-MONONLINE)33
(assert-equal "731" RPL-MONOFFLINE)34
(assert-equal "733" RPL-ENDOFMONLIST)))37
(test-group "irc-numeric-name lookup"39
(test "string form lookup"40
(assert-equal 'RPL-WELCOME (irc-numeric-name "001"))41
(assert-equal 'ERR-NICKNAMEINUSE (irc-numeric-name "433"))42
(assert-equal 'RPL-SASLSUCCESS (irc-numeric-name "903")))44
(test "symbol form lookup"45
(assert-equal 'RPL-WELCOME (irc-numeric-name (string->symbol "001")))46
(assert-equal 'RPL-MONONLINE (irc-numeric-name (string->symbol "730"))))48
(test "unknown returns #f"49
(assert-equal #f (irc-numeric-name "999"))))52
(test-group "irc-numeric->symbol"54
(test "wraps via string->symbol"55
(assert-equal (string->symbol "001") (irc-numeric->symbol "001"))))57
(run-tests)