repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 5d87f6ba8030eec2994aa2f53ed5c462ba4894db:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 5d87f6ba8030eec2994aa2f53ed5c462ba4894db
Author: Brandon Beresini 
Date:   Wed May 14 23:39:05 2008 -0700

    Add tests for MOTD, VERSION, TIME, USERHOST

    The misc-test.e file is also somewhat reorganized and commented here.

    Patch from Brandon Beresini, Bryan Caldwell and Dana Dahlstrom.

diff --git a/src/testsuite/misc-test.e b/src/testsuite/misc-test.e
index 4b8837985fd6dc886c141139556d5b28090ca8b7..
index ..f9142df20d80d4fae04c3f257c958e8674411591 100644
--- a/src/testsuite/misc-test.e
+++ b/src/testsuite/misc-test.e
@@ -13,26 +13,147 @@ expect {
 	"376"
 }

+# RFC 2812 Section 3.4.1
+
+send "motd\r"
+expect {
+	timeout { exit 1 }
+	"375"
+}
+expect {
+	timeout { exit 1 }
+	"372"
+}
+expect {
+	timeout { exit 1 }
+	"376"
+}
+
+send "motd ngircd.test.server\r"
+expect {
+	timeout { exit 1 }
+	"375"
+}
+expect {
+	timeout { exit 1 }
+	"372"
+}
+expect {
+	timeout { exit 1 }
+	"376"
+}
+
+send "motd doesnotexist\r"
+expect {
+	timeout { exit 1 }
+	"402"
+# note this is not specified in RFC 2812, but probably should be
+}
+
+# RFC 2812 Section 3.4.3
+
+send "version\r"
+expect {
+	timeout { exit 1 }
+	"351"
+}
+
+send "version ngircd.test.server\r"
+expect {
+	timeout { exit 1 }
+	"351"
+}
+
+send "version doesnotexist\r"
+expect {
+	timeout { exit 1 }
+	"402"
+}
+
+# RFC 2812 Section 3.4.6
+
+send "time\r"
+expect {
+	timeout { exit 1 }
+	"391"
+}
+
+send "time ngircd.test.server\r"
+expect {
+	timeout { exit 1 }
+	"391"
+}
+
+send "time doesnotexist\r"
+expect {
+	timeout { exit 1 }
+	"402"
+}
+
+# RFC 2812 Section 3.4.10
+
+send "info\r"
+expect {
+	timeout { exit 1 }
+	"371"
+}
+expect {
+	timeout { exit 1 }
+	"374"
+}
+
+# RFC 2812 Section 4.5
+
 send "summon\r"
 expect {
 	timeout { exit 1 }
 	"445"
 }

+# RFC 2812 Section 4.6
+
 send "users\r"
 expect {
 	timeout { exit 1 }
 	"446"
 }

-send "info\r"
+# RFC 2812 Section 4.8
+
+send "userhost\r"
 expect {
 	timeout { exit 1 }
-	"371"
+	"461"
 }
+
+send "userhost nick\r"
 expect {
 	timeout { exit 1 }
-	"374"
+	-re ":ngircd.test.server 302 nick :?nick=+.*@(localhost|127.0.0.1)"
+}
+
+send "userhost doesnotexist\r"
+expect {
+	timeout { exit 1 }
+	":ngircd.test.server 302 nick :\r"
+}
+
+send "userhost nick doesnotexist nick doesnotexist\r"
+expect {
+	timeout { exit 1 }
+	-re ":ngircd.test.server 302 nick :nick=+.*@(localhost|127.0.0.1) nick=+.*@(localhost|127.0.0.1)"
+}
+
+send "away :testing\r"
+expect {
+	timeout { exit 1 }
+	"306 nick"
+}
+
+send "userhost nick nick nick nick nick nick\r"
+expect {
+	timeout { exit 1 }
+	-re ":ngircd.test.server 302 nick :nick=-.*@(localhost|127.0.0.1) nick=-.*@(localhost|127.0.0.1) nick=-.*@(localhost|127.0.0.1) nick=-.*@(localhost|127.0.0.1) nick=-.*@(localhost|127.0.0.1)\r"
 }

 send "quit\r"

-----END OF PAGE-----