Commit Diff


commit - 3d8eda9c860cbcbf195fe2242c67dd57fe966b3e
commit + c63d8fd051b9d1e9c8dfa64424b9f557968c4513
blob - af1d980bc289b8a55276f220570f37b02fc1848f
blob + 87e47d45b04869468d9b4e7d1634c82203098ac8
--- src/testsuite/Makefile.am
+++ src/testsuite/Makefile.am
@@ -21,7 +21,7 @@ EXTRA_DIST = \
 	start-server.sh stop-server.sh tests.sh stress-server.sh \
 	test-loop.sh wait-tests.sh \
 	channel-test.e connect-test.e check-idle.e misc-test.e mode-test.e \
-	kick-test.e \
+	join-test.e kick-test.e \
 	opless-channel-test.e \
 	who-test.e stress-A.e stress-B.e \
 	ngircd-test.conf
@@ -49,6 +49,10 @@ channel-test: tests.sh
 	rm -f channel-test
 	ln -s $(srcdir)/tests.sh channel-test
 
+join-test: tests.sh
+	rm -f join-test
+	ln -s $(srcdir)/tests.sh join-test
+
 kick-test: tests.sh
 	rm -f kick-test
 	ln -s $(srcdir)/tests.sh kick-test
@@ -72,11 +76,12 @@ mode-test: tests.sh
 TESTS = start-server.sh \
 	connect-test \
 	channel-test \
+	join-test \
 	kick-test \
 	misc-test \
 	mode-test \
-	who-test \
 	opless-channel-test \
+	who-test \
 	stress-server.sh \
 	stop-server.sh
 
blob - /dev/null
blob + 41a5168ae296ea34d6cd4f44326dfb360850608c (mode 644)
--- /dev/null
+++ src/testsuite/join-test.e
@@ -0,0 +1,68 @@
+spawn telnet localhost 6789
+expect {
+       timeout { exit 1 }
+       "Connected"
+}
+
+send "nick nick\r"
+send "user user . . :User\r"
+expect {
+       timeout { exit 1 }
+       "376"
+}
+
+send "JOIN\r"
+expect {
+       timeout { exit 1}
+       "461"
+}
+
+send "JOIN #InviteChannel\r"
+expect {
+       timeout { exit 1 }
+       "473"
+}
+
+send "JOIN #FullKeyed\r"
+expect {
+       timeout { exit 1 }
+       "475"
+}
+
+send "JOIN #FullKeyed WrongKey\r"
+expect {
+       timeout { exit 1 }
+       "475"
+}
+
+send "JOIN #FullKeyed Secret\r"
+expect {
+       timeout { exit 1 }
+       "471"
+}
+
+send "JOIN #TopicChannel\r"
+expect {
+       timeout { exit 1 }
+       "@* JOIN :#TopicChannel"
+}
+expect {
+       timeout { exit 1 }
+       "332"
+}
+
+send "JOIN 0\r"
+send "JOIN #1,#2,#3,#4\r"
+send "JOIN #5\r"
+expect {
+       timeout { exit 1 }
+       "405"
+}
+
+send "quit\r"
+expect {
+       timeout { exit 1 }
+       "Connection closed"
+}
+
+# -eof-
blob - 0bec96d30d827b4a7e2cfb7260a7ccff6f78d3ab
blob + eeace761a0a9d70a1414a4cb7b2b4a4a6a42ac5f
--- src/testsuite/ngircd-test.conf
+++ src/testsuite/ngircd-test.conf
@@ -8,9 +8,25 @@
 	AdminEMail = admin@irc.server
 	MaxConnectionsIP = 0
 	OperCanUseMode = yes
+	MaxJoins = 4
 
 [Operator]
 	Name = TestOp
 	Password = 123
 
+[CHANNEL]
+	Name = #InviteChannel
+	Modes = i
+
+[CHANNEL]
+	Name = #FullKeyed
+	Modes = lk
+	MaxUsers = 0
+	Key = Secret
+
+[CHANNEL]
+	Name = #TopicChannel
+	Modes = t
+	Topic = the topic
+
 # -eof-