Changeset 1322

Show
Ignore:
Timestamp:
12/17/06 12:27:48
Author:
oysteigi
Message:

Add FolderStore? tests and a few extra tests for Folder

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libtinymail-test/Makefile.am

    r1311 r1322  
    4444        tny-test-stream.h \ 
    4545        tny-test-stream.c \ 
    46         tny-list-test.c \ 
    47         tny-folder-test.c \ 
    48         tny-folder-store-query-test.c \ 
    4946        tny-account-store-test.c \ 
    5047        tny-account-test.c \ 
    5148        tny-device-test.c \ 
     49        tny-folder-store-query-test.c \ 
     50        tny-folder-store-test.c \ 
     51        tny-folder-test.c \ 
    5252        tny-header-test.c \ 
     53        tny-list-test.c \ 
    5354        tny-mime-part-test.c \ 
    5455        tny-msg-test.c \ 
  • trunk/libtinymail-test/check_libtinymail_main.c

    r1309 r1322  
    1212     g_thread_init (NULL); 
    1313 
    14      sr = srunner_create ((Suite *) create_tny_list_suite ()); 
    15      srunner_add_suite (sr, (Suite *) create_tny_folder_suite ()); 
    16      srunner_add_suite (sr, (Suite *) create_tny_folder_store_query_suite ()); 
     14     sr = srunner_create (NULL); 
    1715     srunner_add_suite (sr, (Suite *) create_tny_account_store_suite ()); 
    1816     srunner_add_suite (sr, (Suite *) create_tny_account_suite ()); 
    1917     srunner_add_suite (sr, (Suite *) create_tny_device_suite ()); 
     18     srunner_add_suite (sr, (Suite *) create_tny_folder_store_query_suite ()); 
     19     srunner_add_suite (sr, (Suite *) create_tny_folder_store_suite ()); 
     20     srunner_add_suite (sr, (Suite *) create_tny_folder_suite ()); 
    2021     srunner_add_suite (sr, (Suite *) create_tny_header_suite ()); 
     22     srunner_add_suite (sr, (Suite *) create_tny_list_suite ()); 
    2123     srunner_add_suite (sr, (Suite *) create_tny_mime_part_suite ()); 
    2224     srunner_add_suite (sr, (Suite *) create_tny_msg_suite ()); 
  • trunk/libtinymail-test/tny-folder-store-query-test.c

    r1309 r1322  
    7676} 
    7777 
    78 START_TEST ( 
    79 tny_folder_store_query_test_match_on_name) 
     78START_TEST (tny_folder_store_query_test_match_on_name) 
    8079{ 
    8180        TnyFolderStoreQuery *query = NULL; 
     
    125124END_TEST 
    126125 
    127 START_TEST ( 
    128 tny_folder_store_query_test_match_on_id) 
     126START_TEST (tny_folder_store_query_test_match_on_id) 
    129127{ 
    130128        TnyFolderStoreQuery *query = NULL; 
     
    172170 
    173171 
    174 START_TEST ( 
    175 tny_folder_store_query_test_match_subscribed) 
     172START_TEST (tny_folder_store_query_test_match_subscribed) 
    176173{ 
    177174        TnyFolderStoreQuery *query = NULL; 
  • trunk/libtinymail-test/tny-folder-test.c

    r1309 r1322  
    3232#include <account-store.h> 
    3333 
    34 static TnyFolder *iface = NULL
     34static TnyFolder *iface = NULL, *folder2
    3535static TnyAccountStore *account_store; 
    3636static TnyList *accounts; 
     
    3838static TnyIterator *aiter; 
    3939static gchar *str; 
     40static gboolean callback_completed = FALSE; 
    4041 
    4142typedef void (*performer) (TnyFolder *folder); 
     
    4748} 
    4849 
     50static void 
     51second_folder (TnyFolder *folder) 
     52{ 
     53    folder2 = folder; 
     54} 
    4955 
    5056static void 
     
    109115        /* TODO:  
    110116        test signal folder inserted and folders_reloaded (hard to test) 
    111         test methods get_folders, get_message, 
    112         test properties name, account, folder_type 
    113         test properties unread_count 
    114         test methods set_subscribed with get_subscribed 
    115         test async method refresh_async (hard to test) 
     117        test methods add_msg, get_msg, get_msg_async, 
     118        test transfer_msgs, transfer_msgs_async, copy 
    116119        */ 
    117120 
     
    214217END_TEST 
    215218 
     219START_TEST (tny_folder_test_properties) 
     220{ 
     221     GError *err; 
     222     gint count; 
     223 
     224     if (iface == NULL) 
     225     { 
     226          g_warning ("Test cannot continue (are you online?)"); 
     227          return; 
     228     } 
     229 
     230     fail_unless (strcmp (tny_folder_get_id (iface), "INBOX/tny-folder-iface-test") == 0, "Folder had wrong ID property"); 
     231     err = NULL; 
     232     tny_folder_refresh (iface, &err);  
     233     fail_unless (err == NULL, "Error refreshing folder"); 
     234     fail_unless (tny_folder_get_all_count (iface) > 0, "Message count too small"); 
     235     fail_unless (tny_folder_get_unread_count (iface) == 2, "Unread count is wrong"); 
     236     fail_unless (tny_folder_get_account (iface) == TNY_ACCOUNT (account), "Property account has wrong value"); 
     237     fail_unless (tny_folder_get_folder_type (iface) == TNY_FOLDER_TYPE_NORMAL, "Folder type should be NORMAL"); 
     238     recurse_folders (TNY_FOLDER_STORE (account), NULL, "INBOX", second_folder); 
     239     g_object_ref (G_OBJECT (folder2)); 
     240     g_print ("Navn: %s\n", tny_folder_get_id (folder2)); 
     241     fail_unless (tny_folder_get_folder_type (folder2) == TNY_FOLDER_TYPE_INBOX, "Folder type should be INBOX"); 
     242     g_object_unref (G_OBJECT (folder2)); 
     243} 
     244END_TEST 
     245 
     246START_TEST (tny_folder_test_name) 
     247{ 
     248     const gchar *name = "tny-folder-iface-test"; 
     249     const gchar *temp_name = "tny-folder-iface-test_temp"; 
     250     GError *err; 
     251 
     252     if (iface == NULL) 
     253     { 
     254          g_warning ("Test cannot continue (are you online?)"); 
     255          return; 
     256     } 
     257 
     258     fail_unless (strcmp (tny_folder_get_name (iface), name) == 0, "Folder had wrong name property"); 
     259     err = NULL; 
     260     tny_folder_set_name (iface, temp_name, &err); 
     261     fail_unless (err == NULL, "An error occured while renaming folder"); 
     262     fail_unless (strcmp (tny_folder_get_name (iface), temp_name) == 0, "Folder had wrong name property"); 
     263     err = NULL; 
     264     tny_folder_set_name (iface, name, &err); 
     265     fail_unless (err == NULL, "An error occured while renaming folder"); 
     266     fail_unless (strcmp (tny_folder_get_name (iface), name) == 0, "Folder had wrong name property"); 
     267} 
     268END_TEST 
     269 
     270START_TEST (tny_folder_test_subscribed) 
     271{ 
     272     TnyFolder *folder; 
     273 
     274     fail_unless (tny_folder_is_subscribed (iface), "Subscription property should be set"); 
     275     recurse_folders (TNY_FOLDER_STORE (account), NULL, "INBOX/unsubscribed_folder", second_folder); 
     276     g_object_ref (G_OBJECT (folder2)); 
     277     fail_unless (!tny_folder_is_subscribed (folder2), "Subscription property should be unset"); 
     278     g_object_unref (G_OBJECT (folder2)); 
     279} 
     280END_TEST 
     281 
     282static void 
     283refresh_progress (TnyFolder *folder, const gchar *what, gint status, gpointer user_data) 
     284{ 
     285     g_print ("."); 
     286} 
     287 
     288static void 
     289folder_refreshed (TnyFolder *folder, gboolean cancelled, GError **err, gpointer user_data) 
     290{ 
     291     g_print ("done\n"); 
     292     fail_unless (!cancelled, "Async refresh cancelled"); 
     293     callback_completed = TRUE; 
     294     gtk_main_quit (); 
     295} 
     296 
     297static gboolean 
     298timeout (gpointer data) 
     299{ 
     300     g_print ("timeout\n"); 
     301     gtk_main_quit (); 
     302     return FALSE; 
     303} 
     304 
     305START_TEST (tny_folder_test_refresh_async) 
     306{ 
     307     GError *err; 
     308 
     309     if (iface == NULL) 
     310     { 
     311          g_warning ("Test cannot continue (are you online?)"); 
     312          return; 
     313     } 
     314 
     315     err = NULL; 
     316     g_print ("Refreshing folder.."); 
     317     tny_folder_refresh_async (iface, folder_refreshed, refresh_progress, &err); 
     318     g_timeout_add (1000*6, timeout, NULL); 
     319     gtk_main (); 
     320     fail_unless (callback_completed, "Refresh callback was never called"); 
     321     fail_unless (tny_folder_get_unread_count (iface) == 2, "Message count not updated"); 
     322} 
     323END_TEST 
     324 
    216325Suite * 
    217326create_tny_folder_suite (void) 
     
    221330 
    222331     tc = tcase_create ("Get Headers Sync"); 
     332     tcase_set_timeout (tc, 5); 
    223333     tcase_add_checked_fixture (tc, tny_folder_test_setup, tny_folder_test_teardown); 
    224334     tcase_add_test (tc, tny_folder_test_get_headers_sync); 
     
    226336 
    227337     tc = tcase_create ("Remove Message"); 
     338     tcase_set_timeout (tc, 5); 
    228339     tcase_add_checked_fixture (tc, tny_folder_test_setup, tny_folder_test_teardown); 
    229340     tcase_add_test (tc, tny_folder_test_remove_message); 
    230341     suite_add_tcase (s, tc); 
    231342 
     343     tc = tcase_create ("Properties"); 
     344     tcase_add_checked_fixture (tc, tny_folder_test_setup, tny_folder_test_teardown); 
     345     tcase_add_test (tc, tny_folder_test_properties); 
     346     suite_add_tcase (s, tc); 
     347 
     348     tc = tcase_create ("Name"); 
     349     tcase_set_timeout (tc, 15); 
     350     tcase_add_checked_fixture (tc, tny_folder_test_setup, tny_folder_test_teardown); 
     351     tcase_add_test (tc, tny_folder_test_name); 
     352     suite_add_tcase (s, tc); 
     353 
     354     tc = tcase_create ("Subscribed"); 
     355     tcase_add_checked_fixture (tc, tny_folder_test_setup, tny_folder_test_teardown); 
     356     tcase_add_test (tc, tny_folder_test_subscribed); 
     357     suite_add_tcase (s, tc); 
     358 
     359     tc = tcase_create ("Refresh"); 
     360     tcase_set_timeout (tc, 10); 
     361     tcase_add_checked_fixture (tc, tny_folder_test_setup, tny_folder_test_teardown); 
     362     tcase_add_test (tc, tny_folder_test_refresh_async); 
     363     suite_add_tcase (s, tc); 
     364 
    232365     return s; 
    233366}