about summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-03-15 22:25:15 +0000
committerJames Booth <boothj5@gmail.com>2014-03-15 22:25:15 +0000
commit2af418fd8da7bce971f84b98be945f8d5a858f9d (patch)
treec03440bd0dd9a31c694a10dbe2585584c3907ab2 /tests
parent26726b207a344a79633f0420ff8be9c83aca3934 (diff)
downloadprofani-tty-2af418fd8da7bce971f84b98be945f8d5a858f9d.tar.gz
Command '/statuses muc' now allows 'all', 'online' and 'none' settings
Diffstat (limited to 'tests')
-rw-r--r--tests/test_cmd_statuses.c39
-rw-r--r--tests/test_cmd_statuses.h5
-rw-r--r--tests/test_preferences.c7
-rw-r--r--tests/test_preferences.h2
-rw-r--r--tests/testsuite.c9
5 files changed, 43 insertions, 19 deletions
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),