From 1f78d5b582205c590eee2cfc6b1c3ddd7f390b26 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 23 Feb 2014 20:09:00 +0000 Subject: Added tests for /otr start from non chat windows --- tests/test_cmd_otr.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'tests/test_cmd_otr.c') diff --git a/tests/test_cmd_otr.c b/tests/test_cmd_otr.c index 57b26df3..5ad66514 100644 --- a/tests/test_cmd_otr.c +++ b/tests/test_cmd_otr.c @@ -468,6 +468,43 @@ void cmd_otr_theirfp_shows_fingerprint(void **state) free(help); } +static void +test_cmd_otr_start_from_wintype(win_type_t wintype) +{ + CommandHelp *help = malloc(sizeof(CommandHelp)); + gchar *args[] = { "start", NULL }; + mock_connection_status(JABBER_CONNECTED); + mock_current_win_type(wintype); + mock_ui_current_print_line(); + + ui_current_print_line_expect("You must be in a regular chat window to start an OTR session."); + + gboolean result = cmd_otr(args, *help); + assert_true(result); + + free(help); +} + +void cmd_otr_start_shows_message_when_in_console(void **state) +{ + test_cmd_otr_start_from_wintype(WIN_CONSOLE); +} + +void cmd_otr_start_shows_message_when_in_muc(void **state) +{ + test_cmd_otr_start_from_wintype(WIN_MUC); +} + +void cmd_otr_start_shows_message_when_in_private(void **state) +{ + test_cmd_otr_start_from_wintype(WIN_PRIVATE); +} + +void cmd_otr_start_shows_message_when_in_duck(void **state) +{ + test_cmd_otr_start_from_wintype(WIN_DUCK); +} + #else void cmd_otr_shows_message_when_otr_unsupported(void **state) { -- cgit 1.4.1-2-gfad0