From 2af418fd8da7bce971f84b98be945f8d5a858f9d Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 15 Mar 2014 22:25:15 +0000 Subject: Command '/statuses muc' now allows 'all', 'online' and 'none' settings --- tests/test_cmd_statuses.c | 39 +++++++++++++++++++++++++++++---------- tests/test_cmd_statuses.h | 5 +++-- tests/test_preferences.c | 7 ++++--- tests/test_preferences.h | 2 +- tests/testsuite.c | 9 ++++++--- 5 files changed, 43 insertions(+), 19 deletions(-) (limited to 'tests') diff --git a/tests/test_cmd_statuses.c b/tests/test_cmd_statuses.c index 04380724..f15dd820 100644 --- a/tests/test_cmd_statuses.c +++ b/tests/test_cmd_statuses.c @@ -181,36 +181,55 @@ void cmd_statuses_chat_sets_none(void **state) free(help); } -void cmd_statuses_muc_sets_on(void **state) +void cmd_statuses_muc_sets_all(void **state) { mock_cons_show(); CommandHelp *help = malloc(sizeof(CommandHelp)); - gchar *args[] = { "muc", "on", NULL }; + gchar *args[] = { "muc", "all", NULL }; - expect_cons_show("Chat room presence updates enabled."); + expect_cons_show("All presence updates will appear in chat room windows."); gboolean result = cmd_statuses(args, *help); - gboolean setting = prefs_get_boolean(PREF_STATUSES_MUC); + char *setting = prefs_get_string(PREF_STATUSES_MUC); assert_non_null(setting); - assert_true(setting); + assert_string_equal("all", setting); assert_true(result); free(help); } -void cmd_statuses_muc_sets_off(void **state) +void cmd_statuses_muc_sets_online(void **state) { mock_cons_show(); CommandHelp *help = malloc(sizeof(CommandHelp)); - gchar *args[] = { "muc", "off", NULL }; + gchar *args[] = { "muc", "online", NULL }; - expect_cons_show("Chat room presence updates disabled."); + expect_cons_show("Only join/leave presence updates will appear in chat room windows."); gboolean result = cmd_statuses(args, *help); - gboolean setting = prefs_get_boolean(PREF_STATUSES_MUC); - assert_false(setting); + char *setting = prefs_get_string(PREF_STATUSES_MUC); + assert_non_null(setting); + assert_string_equal("online", setting); + assert_true(result); + + free(help); +} + +void cmd_statuses_muc_sets_none(void **state) +{ + mock_cons_show(); + CommandHelp *help = malloc(sizeof(CommandHelp)); + gchar *args[] = { "muc", "none", NULL }; + + expect_cons_show("Presence updates will not appear in chat room windows."); + + gboolean result = cmd_statuses(args, *help); + + char *setting = prefs_get_string(PREF_STATUSES_MUC); + assert_non_null(setting); + assert_string_equal("none", setting); assert_true(result); free(help); diff --git a/tests/test_cmd_statuses.h b/tests/test_cmd_statuses.h index 69f935f0..306a6fc7 100644 --- a/tests/test_cmd_statuses.h +++ b/tests/test_cmd_statuses.h @@ -8,5 +8,6 @@ void cmd_statuses_console_sets_none(void **state); void cmd_statuses_chat_sets_all(void **state); void cmd_statuses_chat_sets_online(void **state); void cmd_statuses_chat_sets_none(void **state); -void cmd_statuses_muc_sets_on(void **state); -void cmd_statuses_muc_sets_off(void **state); +void cmd_statuses_muc_sets_all(void **state); +void cmd_statuses_muc_sets_online(void **state); +void cmd_statuses_muc_sets_none(void **state); diff --git a/tests/test_preferences.c b/tests/test_preferences.c index 41e254cc..c4bcbf77 100644 --- a/tests/test_preferences.c +++ b/tests/test_preferences.c @@ -24,9 +24,10 @@ void statuses_chat_defaults_to_all(void **state) assert_string_equal("all", setting); } -void statuses_muc_defaults_to_on(void **state) +void statuses_muc_defaults_to_all(void **state) { - gboolean setting = prefs_get_boolean(PREF_STATUSES_MUC); + char *setting = prefs_get_string(PREF_STATUSES_MUC); - assert_true(setting); + assert_non_null(setting); + assert_string_equal("all", setting); } diff --git a/tests/test_preferences.h b/tests/test_preferences.h index 577226b7..5bf79a6a 100644 --- a/tests/test_preferences.h +++ b/tests/test_preferences.h @@ -1,3 +1,3 @@ void statuses_console_defaults_to_all(void **state); void statuses_chat_defaults_to_all(void **state); -void statuses_muc_defaults_to_on(void **state); +void statuses_muc_defaults_to_all(void **state); diff --git a/tests/testsuite.c b/tests/testsuite.c index 0c2101f3..63d8fd2d 100644 --- a/tests/testsuite.c +++ b/tests/testsuite.c @@ -331,10 +331,13 @@ int main(int argc, char* argv[]) { unit_test_setup_teardown(cmd_statuses_chat_sets_none, load_preferences, close_preferences), - unit_test_setup_teardown(cmd_statuses_muc_sets_on, + unit_test_setup_teardown(cmd_statuses_muc_sets_all, load_preferences, close_preferences), - unit_test_setup_teardown(cmd_statuses_muc_sets_off, + unit_test_setup_teardown(cmd_statuses_muc_sets_online, + load_preferences, + close_preferences), + unit_test_setup_teardown(cmd_statuses_muc_sets_none, load_preferences, close_preferences), @@ -344,7 +347,7 @@ int main(int argc, char* argv[]) { unit_test_setup_teardown(statuses_chat_defaults_to_all, load_preferences, close_preferences), - unit_test_setup_teardown(statuses_muc_defaults_to_on, + unit_test_setup_teardown(statuses_muc_defaults_to_all, load_preferences, close_preferences), -- cgit 1.4.1-2-gfad0