diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/chatroom.test | 82 | 
1 files changed, 82 insertions, 0 deletions
| diff --git a/test/chatroom.test b/test/chatroom.test index 1998290..93de1ff 100644 --- a/test/chatroom.test +++ b/test/chatroom.test @@ -344,3 +344,85 @@ test ParallelThreads:  	with p2:  		expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg  		guard (msg == "1B") + + +test ChatroomMembers: +	spawn as p1 +	spawn as p2 +	spawn as p3 + +	send "create-identity Device1 Owner1" to p1 +	send "create-identity Device2 Owner2" to p2 +	send "create-identity Device3 Owner3" to p3 + +	for p in [ p1, p2, p3 ]: +		with p: +			send "chatroom-watch-local" +			send "start-server" + +	send "chatroom-create first_room" to p1 +	expect /chatroom-create-done ([a-z0-9#]+) first_room.*/ from p1 capture room1_p1 + +	expect /chatroom-watched-added $room1_p1 first_room sub true/ from p1 +	expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p2 capture room1_p2 +	expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p3 capture room1_p3 + +	local: +		send "chatroom-members $room1_p1" to p1 +		expect /chatroom-members-([a-z]+)/ from p1 capture done +		guard (done == "done") +	local: +		send "chatroom-members $room1_p2" to p2 +		expect /chatroom-members-([a-z]+)/ from p2 capture done +		guard (done == "done") + +	send "chatroom-message-send $room1_p1 message1" to p1 +	send "chatroom-message-send $room1_p1 message2" to p1 +	send "chatroom-join $room1_p2" to p2 +	send "chatroom-message-send $room1_p2 message3" to p2 +	send "chatroom-join $room1_p3" to p3 + +	with p1: +		expect /chatroom-message-new $room1_p1 room first_room from Owner1 text message2/ +		expect /chatroom-message-new $room1_p1 room first_room from Owner2 text message3/ +		expect /chatroom-message-new $room1_p1 room first_room from Owner3/ +	with p2: +		expect /chatroom-message-new $room1_p2 room first_room from Owner1 text message2/ +		expect /chatroom-message-new $room1_p2 room first_room from Owner2 text message3/ +		expect /chatroom-message-new $room1_p2 room first_room from Owner3/ +	with p3: +		expect /chatroom-message-new $room1_p3 room first_room from Owner1 text message2/ +		expect /chatroom-message-new $room1_p3 room first_room from Owner2 text message3/ +		expect /chatroom-message-new $room1_p3 room first_room from Owner3/ + +	local: +		send "chatroom-members $room1_p1" to p1 +		expect /chatroom-members-item Owner1/ from p1 +		expect /chatroom-members-item Owner2/ from p1 +		expect /chatroom-members-item Owner3/ from p1 +		expect /chatroom-members-([a-z]+)/ from p1 capture done +		guard (done == "done") +	local: +		send "chatroom-members $room1_p2" to p2 +		expect /chatroom-members-item Owner1/ from p2 +		expect /chatroom-members-item Owner2/ from p2 +		expect /chatroom-members-item Owner3/ from p2 +		expect /chatroom-members-([a-z]+)/ from p2 capture done +		guard (done == "done") + +	send "chatroom-leave $room1_p1" to p1 +	send "chatroom-leave $room1_p3" to p3 + +	for p in [ p1, p2, p3 ]: +		with p: +			expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner1 leave/ +			expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner3 leave/ + +	send "chatroom-members $room1_p1" to p1 +	send "chatroom-members $room1_p2" to p2 +	send "chatroom-members $room1_p3" to p3 +	for p in [ p1, p2, p3 ]: +		with p: +			expect /chatroom-members-item Owner2/ +			expect /chatroom-members-([a-z]+)/ capture done +			guard (done == "done") |