#include #include #include #include #include #include #include #include #include #include "proftest.h" void sends_room_join(void **state) { prof_connect(); prof_input("/join testroom@conference.localhost"); assert_true(stbbr_last_received( "" "" "" "" )); } void sends_room_join_with_default_muc_service(void **state) { prof_connect(); prof_input("/join testroom"); assert_true(stbbr_last_received( "" "" "" "" )); } void sends_room_join_with_nick(void **state) { prof_connect(); prof_input("/join testroom@conference.localhost nick testnick"); assert_true(stbbr_last_received( "" "" "" "" )); } void sends_room_join_with_password(void **state) { prof_connect(); prof_input("/join testroom@conference.localhost password testpassword"); assert_true(stbbr_last_received( "" "" "testpassword" "" "" "" )); } void sends_room_join_with_nick_and_password(void **state) { prof_connect(); prof_input("/join testroom@conference.localhost nick testnick password testpassword"); assert_true(stbbr_last_received( "" "" "testpassword" "" "" "" )); } void shows_role_and_affiliation_on_join(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); } void shows_subject_on_join(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); stbbr_send( "" "Test room subject" "anothernick has set the subject to: Test room subject" "" ); assert_true(prof_output_regex("Room subject: .+Test room subject")); } void shows_history_message(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); stbbr_send( "" "an old message" "" "" "" ); assert_true(prof_output_regex("testoccupant: an old message")); } void shows_occupant_join(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); stbbr_send( "" "" "" "" "" ); assert_true(prof_output_exact("-> testoccupant has joined the room, role: participant, affiliation: none")); } void shows_message(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); stbbr_send( "" "a new message" "" ); assert_true(prof_output_regex("testoccupant: .+a new message")); } void shows_all_messages_in_console_when_window_not_focussed(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); prof_input("/win 1"); assert_true(prof_output_exact("Profanity. Type /help for help information.")); stbbr_send( "" "a new message" "" ); assert_true(prof_output_exact("<< room message: testoccupant in testroom@conference.localhost (win 2)")); stbbr_send( "" "some other message" "" ); assert_true(prof_output_exact("<< room message: anotheroccupant in testroom@conference.localhost (win 2)")); } void shows_first_message_in_console_when_window_not_focussed(void **state) { prof_connect(); prof_input("/console muc first"); assert_true(prof_output_exact("Console MUC messages set: first")); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); prof_input("/win 1"); assert_true(prof_output_exact("Profanity. Type /help for help information.")); stbbr_send( "" "a new message" "" ); assert_true(prof_output_exact("<< room message: testroom@conference.localhost (win 2)")); prof_input("/clear"); prof_input("/about"); assert_true(prof_output_exact("Type '/help' to show complete help.")); stbbr_send( "" "some other message" "" ); prof_timeout(2); assert_false(prof_output_exact("<< room message: testroom@conference.localhost (win 2)")); prof_timeout_reset(); } void shows_no_message_in_console_when_window_not_focussed(void **state) { prof_connect(); prof_input("/console muc none"); assert_true(prof_output_exact("Console MUC messages set: none")); stbbr_for_id("prof_join_4", "" "" "" "" "" "" "" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); prof_input("/win 1"); assert_true(prof_output_exact("Profanity. Type /help for help information.")); stbbr_send( "" "a new message" "" ); prof_timeout(2); assert_false(prof_output_exact("testroom@conference.localhost (win 2)")); prof_timeout_reset(); }