AtlatestRepositorysigil-irc

sigil-irc / tree / testtest-numerics.sgl

1;;; Tests for numeric reply constants and lookup helpers.
2
3(import (sigil test)
4 (sigil irc numerics))
5
6(test-group "Numeric reply constants"
7
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)