| | 219 | START_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 | } |
|---|
| | 244 | END_TEST |
|---|
| | 245 | |
|---|
| | 246 | START_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 | } |
|---|
| | 268 | END_TEST |
|---|
| | 269 | |
|---|
| | 270 | START_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 | } |
|---|
| | 280 | END_TEST |
|---|
| | 281 | |
|---|
| | 282 | static void |
|---|
| | 283 | refresh_progress (TnyFolder *folder, const gchar *what, gint status, gpointer user_data) |
|---|
| | 284 | { |
|---|
| | 285 | g_print ("."); |
|---|
| | 286 | } |
|---|
| | 287 | |
|---|
| | 288 | static void |
|---|
| | 289 | folder_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 | |
|---|
| | 297 | static gboolean |
|---|
| | 298 | timeout (gpointer data) |
|---|
| | 299 | { |
|---|
| | 300 | g_print ("timeout\n"); |
|---|
| | 301 | gtk_main_quit (); |
|---|
| | 302 | return FALSE; |
|---|
| | 303 | } |
|---|
| | 304 | |
|---|
| | 305 | START_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 | } |
|---|
| | 323 | END_TEST |
|---|
| | 324 | |
|---|
| | 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 | |
|---|