diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2009-10-29 22:31:23 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2009-11-03 20:25:02 +0800 |
commit | f90aaa6e6f9dfa16dd3d6b6c526857f987862c99 (patch) | |
tree | a606ff4313a19ab4e9e2de4d562a019daf16ec43 /tests/empathy-chatroom-test.c | |
parent | 3b0ccc3b5889e511190924a1f5f8df85de61e2bd (diff) | |
download | gsoc2013-empathy-f90aaa6e6f9dfa16dd3d6b6c526857f987862c99.tar gsoc2013-empathy-f90aaa6e6f9dfa16dd3d6b6c526857f987862c99.tar.gz gsoc2013-empathy-f90aaa6e6f9dfa16dd3d6b6c526857f987862c99.tar.bz2 gsoc2013-empathy-f90aaa6e6f9dfa16dd3d6b6c526857f987862c99.tar.lz gsoc2013-empathy-f90aaa6e6f9dfa16dd3d6b6c526857f987862c99.tar.xz gsoc2013-empathy-f90aaa6e6f9dfa16dd3d6b6c526857f987862c99.tar.zst gsoc2013-empathy-f90aaa6e6f9dfa16dd3d6b6c526857f987862c99.zip |
port check-empathy-chatroom.c to GTest
The tests have not been ported yet as they are currently
disabled.
Diffstat (limited to 'tests/empathy-chatroom-test.c')
-rw-r--r-- | tests/empathy-chatroom-test.c | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/tests/empathy-chatroom-test.c b/tests/empathy-chatroom-test.c new file mode 100644 index 000000000..77d0c29e9 --- /dev/null +++ b/tests/empathy-chatroom-test.c @@ -0,0 +1,165 @@ +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include "check-empathy-helpers.h" +#include "test-helper.h" + +#include <libempathy/empathy-chatroom.h> + +#if 0 +static EmpathyChatroom * +create_chatroom (void) +{ + EmpathyAccount *account; + EmpathyChatroom *chatroom; + + account = get_test_account (); + chatroom = empathy_chatroom_new (account); + fail_if (chatroom == NULL); + + return chatroom; +} + +START_TEST (test_empathy_chatroom_new) +{ + EmpathyChatroom *chatroom; + gboolean auto_connect, favorite; + + chatroom = create_chatroom (); + fail_if (empathy_chatroom_get_auto_connect (chatroom)); + g_object_get (chatroom, + "auto_connect", &auto_connect, + "favorite", &favorite, + NULL); + fail_if (auto_connect); + fail_if (favorite); + + g_object_unref (empathy_chatroom_get_account (chatroom)); + g_object_unref (chatroom); +} +END_TEST + +START_TEST (test_favorite_and_auto_connect) +{ + /* auto connect implies favorite */ + EmpathyChatroom *chatroom; + gboolean auto_connect, favorite; + + chatroom = create_chatroom (); + + /* set auto_connect so favorite as a side effect */ + empathy_chatroom_set_auto_connect (chatroom, TRUE); + fail_if (!empathy_chatroom_get_auto_connect (chatroom)); + g_object_get (chatroom, + "auto_connect", &auto_connect, + "favorite", &favorite, + NULL); + fail_if (!auto_connect); + fail_if (!favorite); + + /* Remove auto_connect. Chatroom is still favorite */ + empathy_chatroom_set_auto_connect (chatroom, FALSE); + fail_if (empathy_chatroom_get_auto_connect (chatroom)); + g_object_get (chatroom, + "auto_connect", &auto_connect, + "favorite", &favorite, + NULL); + fail_if (auto_connect); + fail_if (!favorite); + + /* Remove favorite too now */ + g_object_set (chatroom, "favorite", FALSE, NULL); + fail_if (empathy_chatroom_get_auto_connect (chatroom)); + g_object_get (chatroom, + "auto_connect", &auto_connect, + "favorite", &favorite, + NULL); + fail_if (auto_connect); + fail_if (favorite); + + /* Just add favorite but not auto-connect */ + g_object_set (chatroom, "favorite", TRUE, NULL); + fail_if (empathy_chatroom_get_auto_connect (chatroom)); + g_object_get (chatroom, + "auto_connect", &auto_connect, + "favorite", &favorite, + NULL); + fail_if (auto_connect); + fail_if (!favorite); + + /* ... and re-add auto_connect */ + g_object_set (chatroom, "auto_connect", TRUE, NULL); + fail_if (!empathy_chatroom_get_auto_connect (chatroom)); + g_object_get (chatroom, + "auto_connect", &auto_connect, + "favorite", &favorite, + NULL); + fail_if (!auto_connect); + fail_if (!favorite); + + /* Remove favorite remove auto_connect too */ + g_object_set (chatroom, "favorite", FALSE, NULL); + fail_if (empathy_chatroom_get_auto_connect (chatroom)); + g_object_get (chatroom, + "auto_connect", &auto_connect, + "favorite", &favorite, + NULL); + fail_if (auto_connect); + fail_if (favorite); + + g_object_unref (empathy_chatroom_get_account (chatroom)); + g_object_unref (chatroom); +} +END_TEST + +static void +favorite_changed (EmpathyChatroom *chatroom, + GParamSpec *spec, + gboolean *changed) +{ + *changed = TRUE; +} + +START_TEST (test_change_favorite) +{ + EmpathyChatroom *chatroom; + gboolean changed = FALSE; + + chatroom = create_chatroom (); + + g_signal_connect (chatroom, "notify::favorite", G_CALLBACK (favorite_changed), + &changed); + + /* change favorite to TRUE */ + g_object_set (chatroom, "favorite", TRUE, NULL); + fail_if (!changed); + + changed = FALSE; + + /* change favorite to FALSE */ + g_object_set (chatroom, "favorite", FALSE, NULL); + fail_if (!changed); +} +END_TEST +#endif + +int +main (int argc, + char **argv) +{ + int result; + + test_init (argc, argv); + +#if 0 + g_test_add_func ("/chatroom/new", test_empathy_chatroom_new); + g_test_add_func ("/chatroom/favorite-and-auto-connect", + test_favorite_and_auto_connect); + g_test_add_func ("/chatroom/change-favorite", test_change_favorite); +#endif + + result = g_test_run (); + test_deinit (); + return result; +} |