[maemo-commits] [maemo-commits] r15910 - projects/haf/trunk/hildon-fm/tests
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Aug 27 15:29:51 EEST 2008
- Previous message: [maemo-commits] r15909 - in projects/haf/branches/hildon-fm/fremantle: . debian
- Next message: [maemo-commits] r15911 - in projects/haf/trunk/hildon-control-panel: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: jukkkaup Date: 2008-08-27 15:29:50 +0300 (Wed, 27 Aug 2008) New Revision: 15910 Added: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-info.c Modified: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-chooser-dialog.c projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-selection.c projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-model.c projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-special-location.c projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-storage-dialog.c Log: Modified and added tests to hildon-fm based on coverage data Modified: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-chooser-dialog.c =================================================================== --- projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-chooser-dialog.c 2008-08-27 11:28:03 UTC (rev 15909) +++ projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-chooser-dialog.c 2008-08-27 12:29:50 UTC (rev 15910) @@ -27,7 +27,6 @@ #include <stdlib.h> #include <stdio.h> #include <unistd.h> -#include <assert.h> #include <string.h> #include <stdbool.h> #include <sys/stat.h> Modified: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-selection.c =================================================================== --- projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-selection.c 2008-08-27 11:28:03 UTC (rev 15909) +++ projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-selection.c 2008-08-27 12:29:50 UTC (rev 15910) @@ -258,6 +258,9 @@ * Purpose: Check if setting and getting current folder's uri works * Case 1: Set a new uri * Case 2: Set an already selected uri + * Case 3: Set uri of a file + * Case 4: Set non-existent folder + * Case 5: Set NULL */ START_TEST (test_file_selection_current_folder_uri) { @@ -268,9 +271,11 @@ GError **error = NULL; char *start = (char *)_hildon_file_selection_get_current_folder_path (fs); char *end = "/hildonfmtests"; - char* sub = "/folder2"; + char *sub = "/folder2"; + char *file = "/file1.txt"; + char *fake = "/fake"; char *folder = NULL; - char *aux; + char *aux = NULL; folder = g_strconcat (start, end, NULL); @@ -281,6 +286,7 @@ ret = hildon_file_selection_set_current_folder_uri (fs, folder, error); fail_if (!ret, "Setting uri of the current folder failed at set & get"); + uri = hildon_file_selection_get_current_folder_uri (fs); fail_if (strcmp (uri, folder) != 0, "Setting current folder's uri succeeded but wrong uri set"); @@ -289,29 +295,73 @@ ret = hildon_file_selection_get_current_folder_iter (fs, &iter); fail_if (!ret, "Getting iterator of the current folder failed at set & get"); + gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, HILDON_FILE_SYSTEM_MODEL_COLUMN_URI, &uri2, -1); fail_if (strcmp (uri, uri2) != 0, "Uri comparison failed at set & get"); - /* Test 2: Test if changing the current folder's uri works */ - aux = g_strconcat (folder, sub, NULL); free (folder); - folder = aux; + /* Test 2: Test if changing the current folder's uri works */ + folder = g_strconcat (start, end, sub, NULL); + ret = hildon_file_selection_set_current_folder_uri (fs, folder, error); fail_if (!ret, "Setting uri of the current folder failed when changing folder"); + uri = hildon_file_selection_get_current_folder_uri (fs); fail_if (strcmp (uri, folder) != 0, "Changing current folder's uri succeeded but wrong uri set"); ret = hildon_file_selection_get_current_folder_iter (fs, &iter); fail_if (!ret, "Getting iterator of the current folder failed when changing folder"); + gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, HILDON_FILE_SYSTEM_MODEL_COLUMN_URI, &uri2, -1); fail_if (strcmp (uri, uri2) != 0, "Uri comparison failed when changing folder"); + free (folder); + + /* Test 3: Test if setting a file's uri works */ + folder = g_strconcat (start, end, file, NULL); + + ret = hildon_file_selection_set_current_folder_uri (fs, folder, error); + fail_if (!ret, + "Setting uri of the current folder failed with a file's uri"); + + uri = hildon_file_selection_get_current_folder_uri (fs); + fail_if (strcmp (uri, folder) == 0, + "A file's uri was set as current folder's uri"); + + free (folder); + + folder = g_strconcat (start, end, NULL); + fail_if (strcmp (uri, folder) != 0, + "Setting file's uri didn't use file's name but parent not set"); + + /* Test 4: Test if setting a non-existent uri works */ + aux = folder; + folder = g_strconcat (start, end, fake, NULL); + + ret = hildon_file_selection_set_current_folder_uri (fs, folder, error); + fail_if (ret, + "Setting uri of the current folder succeeded with non-existent"); + + uri = hildon_file_selection_get_current_folder_uri (fs); + fail_if (strcmp (uri, aux) != 0, + "Setting non-existent failed but current folder still changed"); + + /* Test 5: Test if setting NULL works */ + ret = hildon_file_selection_set_current_folder_uri (fs, NULL, error); + fail_if (ret, + "Setting uri of the current folder succeeded with NULL"); + + uri = hildon_file_selection_get_current_folder_uri (fs); + fail_if (strcmp (uri, aux) != 0, + "Setting NULL failed but current folder still changed"); + + free (aux); free (start); free (folder); } @@ -923,6 +973,8 @@ char *start = (char *)_hildon_file_selection_get_current_folder_path (fs); char *end = "/hildonfmtests"; char* sub = "/folder2"; + char *file = "/file1.txt"; + char *fake = "/fake"; char *folder = NULL; char *aux = NULL; @@ -940,11 +992,15 @@ uri2 = gtk_file_system_path_to_uri (system, path2); fail_if (strcmp (uri, uri2) != 0, "Path comparison failed at set & get"); + + free (folder); + free (path); + free (path2); + free (uri); + free (uri2); /* Test 2: Test if changing the current folder's path works */ - aux = g_strconcat (folder, sub, NULL); - free (folder); - folder = aux; + folder = g_strconcat (start, end, sub, NULL); path = gtk_file_system_uri_to_path(system, folder); ret = _hildon_file_selection_set_current_folder_path (fs, path, error); @@ -960,8 +1016,82 @@ fail_if (strcmp (uri, uri2) != 0, "Path comparison failed when changing folder"); + free (folder); + free (path); + free (path2); + free (uri); + free (uri2); + + /* Test 3: Test if setting a file's uri works */ + folder = g_strconcat (start, end, file, NULL); + + path = gtk_file_system_uri_to_path(system, folder); + ret = _hildon_file_selection_set_current_folder_path (fs, path, error); + fail_if (!ret, + "Setting path of the current folder failed with file's path"); + + uri = hildon_file_selection_get_current_folder_uri (fs); + fail_if (strcmp (uri, folder) == 0, + "A file's path was set as current folder's path"); + + free (folder); + folder = g_strconcat (start, end, NULL); + fail_if (strcmp (uri, folder) != 0, + "Setting file's path didn't use file's name but parent not set"); + + path2 = _hildon_file_selection_get_current_folder_path (fs); + uri2 = gtk_file_system_path_to_uri (system, path2); + fail_if (strcmp (uri, uri2) != 0, + "Path comparison failed with file's name"); + + free (path); + free (path2); + free (uri); + free (uri2); + + /* Test 4: Test if setting a non-existent uri works */ + aux = folder; + folder = g_strconcat (start, end, fake, NULL); + + path = gtk_file_system_uri_to_path(system, folder); + ret = _hildon_file_selection_set_current_folder_path (fs, path, error); + fail_if (ret, + "Setting path of the current folder failed with non-existent"); + + uri = hildon_file_selection_get_current_folder_uri (fs); + fail_if (strcmp (uri, aux) != 0, + "Setting non-existent failed but current folder still changed"); + + path2 = _hildon_file_selection_get_current_folder_path (fs); + uri2 = gtk_file_system_path_to_uri (system, path2); + fail_if (strcmp (uri, uri2) != 0, + "Path comparison failed with non-existent location"); + free (start); free (folder); + free (path); + free (path2); + free (uri); + free (uri2); + + /* Test 5: Test if setting NULL works */ + ret = _hildon_file_selection_set_current_folder_path (fs, NULL, error); + fail_if (ret, + "Setting path of the current folder failed with NULL"); + + uri = hildon_file_selection_get_current_folder_uri (fs); + fail_if (strcmp (uri, aux) != 0, + "Setting NULL failed but current folder still changed"); + + path2 = _hildon_file_selection_get_current_folder_path (fs); + uri2 = gtk_file_system_path_to_uri (system, path2); + fail_if (strcmp (uri, uri2) != 0, + "Path comparison failed with NULL"); + + free (aux); + free (path2); + free (uri); + free (uri2); } END_TEST @@ -1351,6 +1481,24 @@ } END_TEST +/** + * Purpose: Check if getting the active pane works + */ +START_TEST (test_file_selection_get_active_pane) +{ + HildonFileSelectionPane pane; + + pane = hildon_file_selection_get_active_pane (fs); + fail_if (pane != HILDON_FILE_SELECTION_PANE_NAVIGATION, + "Unexpected active pane returned with a file selection"); + + pane = hildon_file_selection_get_active_pane (NULL); + fail_if (pane != HILDON_FILE_SELECTION_PANE_NAVIGATION, + "Unexpected active pane returned with NULL"); + +} +END_TEST + /* ---------- Suite creation ---------- */ Suite *create_hildonfm_file_selection_suite () @@ -1427,6 +1575,7 @@ tcase_add_test (tc7, test_file_selection_type); tcase_add_test (tc7, test_file_selection_move_cursor_to_uri); tcase_add_test (tc7, test_file_selection_dim_and_undim); + tcase_add_test (tc7, test_file_selection_get_active_pane); suite_add_tcase (s, tc7); /* Create test case for file selection paths */ Added: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-info.c =================================================================== --- projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-info.c 2008-08-27 11:28:03 UTC (rev 15909) +++ projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-info.c 2008-08-27 12:29:50 UTC (rev 15910) @@ -0,0 +1,330 @@ +/* + * This file is a part of hildon-fm tests + * + * Copyright (C) 2008 Nokia Corporation. All rights reserved. + * + * Author: Jukka Kauppinen <jukka.p.kauppinen at nokia.com> + * + * Contacts: Richard Sun <richard.sun at nokia.com> + * Attila Domokos <attila.domokos at nokia.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +#include <string.h> +#include <stdbool.h> + +#include <check.h> +#include <gtk/gtk.h> +#include <gtk/gtkmain.h> +#include <hildon/hildon-window.h> + +#include "hildon-file-system-info.h" +#include "hildon-file-system-private.h" +#include "hildon-file-common-private.h" +#include "hildon-file-chooser-dialog.h" +#include "test_suites.h" +#include "check_utils.h" + +/* --------------------- Fixtures --------------------- */ + +static HildonFileSystemModel *model = NULL; +static HildonFileSelection *fs = NULL; +static HildonFileSystemInfoHandle *fsih = NULL; + +static void +fx_setup_default_hildonfm_file_system_info () +{ + model = g_object_new (HILDON_TYPE_FILE_SYSTEM_MODEL, NULL); + fail_if (!HILDON_IS_FILE_SYSTEM_MODEL(model), + "File system model creation failed"); + + fs = HILDON_FILE_SELECTION (hildon_file_selection_new_with_model (model)); + fail_if (!HILDON_IS_FILE_SELECTION (fs), "File selection creation failed"); +} + +static void +fx_teardown_default_hildonfm_file_system_info () +{ + +} + +struct _HildonFileSystemInfo +{ + gboolean free_after_callback; + + GtkFileSystem *fs; + GtkFilePath *path; + GtkFileInfo *info; + HildonFileSystemSpecialLocation *location; + + gchar *name_cache; + GdkPixbuf *icon_cache; + gint size; + + GtkFileSystemHandle *get_info_handle; + guint idle_handler_id; + + HildonFileSystemInfoCallback callback; + gpointer userdata; +}; + +typedef struct { + GMainLoop *loop; + HildonFileSystemInfo *info; + GError **error; +} sync_data; + +static void +sync_callback (HildonFileSystemInfoHandle *handle, + HildonFileSystemInfo *info, + const GError *error, + gpointer data) +{ + sync_data *c = data; + + g_propagate_error (c->error, error ? g_error_copy (error) : NULL); + + if (info) + info->free_after_callback = FALSE; + c->info = info; + + g_main_loop_quit (c->loop); +} + +/* -------------------- Test cases -------------------- */ + +/** + * Purpose: Check if getting and destroying a HildonFileSystemInfoHandle works + * Case 1: For a normal test file as uri + * Case 2: For a special location as uri + * Case 3: For NULL as uri + * Case 4: For a non-existent file as uri + */ +START_TEST (test_file_system_info_async_new) +{ + /* Test 1 */ + gboolean ret; + GtkTreeIter iter; + sync_data data1, data2, data3, data4; + char *start = (char *)_hildon_file_selection_get_current_folder_path (fs); + char *end = "/hildonfmtests"; + char *sub = "/file1.txt"; + char *fake = "/fake"; + char *doc = "/.documents"; + char *folder = NULL; + + folder = g_strconcat (start, end, sub, NULL); + + ret = hildon_file_system_model_load_uri (model, folder, &iter); + fail_if (!ret, "Loading a uri to hildon file system model failed"); + + fsih = hildon_file_system_info_async_new (folder, sync_callback, &data1); + fail_if (fsih == NULL, "Info handle creation failed with test location"); + hildon_file_system_info_async_cancel (fsih); + + free (folder); + + /* Test 2 */ + folder = g_strconcat (start, doc, NULL); + + fsih = hildon_file_system_info_async_new (folder, sync_callback, &data2); + fail_if (fsih == NULL, "Info handle creation failed with test location"); + hildon_file_system_info_async_cancel (fsih); + + free (folder); + + /* Test 3 */ + fsih = hildon_file_system_info_async_new (NULL, sync_callback, &data3); + fail_if (fsih != NULL, "Info handle creation worked with NULL as location"); + hildon_file_system_info_async_cancel (fsih); + + /* Test 4 */ + folder = g_strconcat (start, fake, NULL); + + fsih = hildon_file_system_info_async_new (folder, sync_callback, &data4); + fail_if (fsih != NULL, + "Info handle creation worked with a non-existent location"); + hildon_file_system_info_async_cancel (fsih); + + free (folder); +} +END_TEST + +/** + * Purpose: Check if getting the display name from a HildonFileSystemInfo works + * Case 1: For a normal test file as uri + * Case 2: For a special location as uri + */ +START_TEST (test_file_system_info_get_display_name) +{ + /* Test 1 */ + gboolean ret; + GError **error; + GtkTreeIter iter; + sync_data data1, data2; + char *start = (char *)_hildon_file_selection_get_current_folder_path (fs); + char *end = "/hildonfmtests"; + char *sub = "/file1.txt";; + char *doc = "/.documents"; + char *folder = NULL; + HildonFileSystemInfo *info = NULL; + + folder = g_strconcat (start, end, sub, NULL); + + ret = hildon_file_system_model_load_uri (model, folder, &iter); + fail_if (!ret, "Loading a uri to hildon file system model failed"); + + fsih = hildon_file_system_info_async_new (folder, sync_callback, &data1); + fail_if (fsih == NULL, "Info handle creation failed with test location"); + + data1.loop = g_main_loop_new (NULL, 0); + data1.error = error; + g_main_loop_run (data1.loop); + info = data1.info; + fail_if (!info, "Getting a HildonFileSystemInfo with a test folder failed"); + + const char *name1 = hildon_file_system_info_get_display_name (info); + //printf ("%s\n", name1); + fail_if (!name1, "Getting the display name for a test file failed: NULL"); + fail_if (strcmp (name1, sub + 1) != 0, + "Getting the display name for a test file failed: Wrong name"); + + hildon_file_system_info_free (info); + hildon_file_system_info_async_cancel (fsih); + free (folder); + + /* Test 2 */ + folder = g_strconcat (start, doc, NULL); + + fsih = hildon_file_system_info_async_new (folder, sync_callback, &data2); + fail_if (fsih == NULL, "Info handle creation failed with test location"); + + data2.loop = g_main_loop_new (NULL, 0); + data2.error = error; + g_main_loop_run (data2.loop); + info = data2.info; + fail_if (!info, + "Getting a HildonFileSystemInfo with a special location failed"); + + const char *name2 = hildon_file_system_info_get_display_name (info); + //printf ("%s\n", name2); + fail_if (!name2, + "Getting the display name for a special location failed: NULL"); + fail_if + (strcmp (name2, "sfil_li_folder_documents") != 0, + "Getting the display name for a special location failed: Wrong name"); + /* + fail_if + (strcmp (name2, "Documents") != 0, + "Getting the display name for a special location failed: Wrong name"); + */ + + hildon_file_system_info_free (info); + hildon_file_system_info_async_cancel (fsih); + free (folder); +} +END_TEST + +/** + * Purpose: Check if getting the GdkPixbuf icon works + * This currently does not work with Sbox because there is no icon theme + * DISABLED IN SUITE CREATION BELOW + */ +START_TEST (test_file_system_info_get_icon) +{ + /* Test 1 */ + gboolean ret; + GError **error; + GdkPixbuf *pixbuf1, *pixbuf2; + GtkTreeIter iter; + sync_data data1, data2; + char *start = (char *)_hildon_file_selection_get_current_folder_path (fs); + char *end = "/hildonfmtests"; + char *sub = "/file1.txt";; + char *doc = "/.documents"; + char *folder = NULL; + HildonFileSystemInfo *info = NULL; + + folder = g_strconcat (start, end, sub, NULL); + + ret = hildon_file_system_model_load_uri (model, folder, &iter); + fail_if (!ret, "Loading a uri to hildon file system model failed"); + + fsih = hildon_file_system_info_async_new (folder, sync_callback, &data1); + fail_if (fsih == NULL, "Info handle creation failed with test location"); + + data1.loop = g_main_loop_new (NULL, 0); + data1.error = error; + g_main_loop_run (data1.loop); + info = data1.info; + fail_if (!info, "Getting a HildonFileSystemInfo with a test folder failed"); + + pixbuf1 = hildon_file_system_info_get_icon (info, GTK_WIDGET(fs)); + fail_if (!GDK_IS_PIXBUF (pixbuf1), + "Getting a GdkPixbuf icon with test folder failed"); + + hildon_file_system_info_free (info); + hildon_file_system_info_async_cancel (fsih); + free (folder); + + /* Test 2 */ + folder = g_strconcat (start, doc, NULL); + + fsih = hildon_file_system_info_async_new (folder, sync_callback, &data2); + fail_if (fsih == NULL, "Info handle creation failed with test location"); + + data2.loop = g_main_loop_new (NULL, 0); + data2.error = error; + g_main_loop_run (data2.loop); + info = data2.info; + fail_if (!info, + "Getting a HildonFileSystemInfo with a special location failed"); + + pixbuf2 = hildon_file_system_info_get_icon (info, GTK_WIDGET(fs)); + fail_if (!GDK_IS_PIXBUF (pixbuf2), + "Getting a GdkPixbuf icon with special location failed"); + + hildon_file_system_info_free (info); + hildon_file_system_info_async_cancel (fsih); + free (folder); +} +END_TEST + +/* ------------------ Suite creation ------------------ */ + +Suite *create_hildonfm_file_system_info_suite () +{ + /* Create the suite */ + Suite *s = suite_create ("HildonfmFileSystemInfo"); + + /* Create test cases */ + TCase *tc1 = tcase_create ("general_tests"); + + /* Create test case for info creation */ + tcase_add_checked_fixture (tc1, fx_setup_default_hildonfm_file_system_info, + fx_teardown_default_hildonfm_file_system_info); + tcase_add_test (tc1, test_file_system_info_async_new); + tcase_add_test (tc1, test_file_system_info_get_display_name); + //tcase_add_test (tc1, test_file_system_info_get_icon); + suite_add_tcase (s, tc1); + + /* Return created suite */ + return s; +} Modified: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-model.c =================================================================== --- projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-model.c 2008-08-27 11:28:03 UTC (rev 15909) +++ projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-model.c 2008-08-27 12:29:50 UTC (rev 15910) @@ -192,6 +192,28 @@ END_TEST /** + * Purpose: Check if loading non-existent uris to the file system model works + */ +START_TEST (test_file_system_model_load_uri_non_existent) +{ + gboolean ret; + GtkTreeIter iter; + char *start = (char *)_hildon_file_selection_get_current_folder_path (fs); + char *end = "/hildonfmtests"; + char *sub = "/fake.txt"; + char *folder = NULL; + + folder = g_strconcat (start, end, sub, NULL); + + ret = hildon_file_system_model_load_uri (model, folder, &iter); + fail_if (ret, "Loading a non-existent uri to the file system model worked"); + + free (folder); + free (start); +} +END_TEST + +/** * Purpose: Check if loading GtkFilePaths to the file system model works */ START_TEST (test_file_system_model_load_path) @@ -879,6 +901,7 @@ fx_teardown_default_hildonfm_file_system_model); tcase_add_test (tc1, test_file_system_model_load_local_path); tcase_add_test (tc1, test_file_system_model_load_uri); + tcase_add_test (tc1, test_file_system_model_load_uri_non_existent); tcase_add_test (tc1, test_file_system_model_load_path); suite_add_tcase (s, tc1); Modified: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-special-location.c =================================================================== --- projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-special-location.c 2008-08-27 11:28:03 UTC (rev 15909) +++ projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-special-location.c 2008-08-27 12:29:50 UTC (rev 15910) @@ -174,19 +174,16 @@ } END_TEST -/* +/** * Purpose: Check if getting extra info on a special location works */ -/* START_TEST (test_file_system_special_location_get_extra_info) { gchar *result = hildon_file_system_special_location_get_extra_info (location); - if (result) - printf("%s\n", result); + fail_if (result, "There was unexpectedly extra info to be found"); } END_TEST -*/ /** * Purpose: Check if creating a child location for a special location works @@ -228,6 +225,31 @@ } END_TEST +/** + * Purpose: Check if getting the reason for unavailability works if available + */ +START_TEST (test_file_system_special_location_get_unavailable_reason_not) +{ + gchar *reason; + + reason = hildon_file_system_special_location_get_unavailable_reason + (location); + fail_if (reason, "A reason for unavailability was given when available"); +} +END_TEST + +/** + * Purpose: Check if calling location_failed_access when it hasn't failed works + */ +START_TEST (test_file_system_special_location_failed_access_not) +{ + gboolean ret; + + ret = hildon_file_system_special_location_failed_access (location); + fail_if (ret, "The call to failed access was accepted unexpectedly"); +} +END_TEST + /* ------------------ Suite creation ------------------ */ Suite *create_hildonfm_file_system_special_location_suite () @@ -246,7 +268,7 @@ fx_teardown_hildonfm_file_system_special_location); tcase_add_test (tc1, test_file_system_special_location_get_display_name); tcase_add_test (tc1, test_file_system_special_location_set_display_name); - //tcase_add_test (tc1, test_file_system_special_location_get_extra_info); + tcase_add_test (tc1, test_file_system_special_location_get_extra_info); suite_add_tcase (s, tc1); /* Create a test case for filesystem settings setting testing */ @@ -261,6 +283,9 @@ (tc3, fx_setup_hildonfm_file_system_special_location_mydocs, fx_teardown_hildonfm_file_system_special_location); tcase_add_test (tc3, test_file_system_special_location_type); + tcase_add_test + (tc3, test_file_system_special_location_get_unavailable_reason_not); + tcase_add_test (tc3, test_file_system_special_location_failed_access_not); suite_add_tcase (s, tc3); /* Return created suite */ Modified: projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-storage-dialog.c =================================================================== --- projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-storage-dialog.c 2008-08-27 11:28:03 UTC (rev 15909) +++ projects/haf/trunk/hildon-fm/tests/check-hildonfm-file-system-storage-dialog.c 2008-08-27 12:29:50 UTC (rev 15910) @@ -71,17 +71,13 @@ fail_if (!HILDON_IS_WINDOW (fssd_window), "Window creation failed."); - fssd = hildon_file_system_storage_dialog_new (fssd_window, start); - fail_if (!HILDON_IS_FILE_SYSTEM_STORAGE_DIALOG (fssd), - "File system storage dialog creation failed"); - //show_all_test_window (GTK_WIDGET (fssd_window)); } static void fx_teardown_hildonfm_file_system_storage_dialog () { - + gtk_widget_destroy (fssd); } /* -------------------- Test cases -------------------- */ @@ -99,14 +95,67 @@ END_TEST /** - * Purpose: Check if creating a new storage dialog works + * Purpose: Check if creating a new storage dialog works with a valid uri */ START_TEST (test_file_system_storage_dialog_new) { + fssd = hildon_file_system_storage_dialog_new (fssd_window, start); + fail_if (!HILDON_IS_FILE_SYSTEM_STORAGE_DIALOG (fssd), + "File system storage dialog creation failed"); +} +END_TEST +/** + * Purpose: Check if creating a new storage dialog works with NULL as uri + */ +START_TEST (test_file_system_storage_dialog_new_null) +{ + fssd = hildon_file_system_storage_dialog_new (fssd_window, NULL); + fail_if (!HILDON_IS_FILE_SYSTEM_STORAGE_DIALOG (fssd), + "File system storage dialog creation failed"); } END_TEST +/** + * Purpose: Check if creating a new storage dialog works with NULL as uri and + * setting the uri afterwords works. + */ +START_TEST (test_file_system_storage_dialog_new_null_and_set_uri) +{ + fssd = hildon_file_system_storage_dialog_new (fssd_window, NULL); + fail_if (!HILDON_IS_FILE_SYSTEM_STORAGE_DIALOG (fssd), + "File system storage dialog creation failed"); + + hildon_file_system_storage_dialog_set_uri (fssd, start); + fail_if (!HILDON_IS_FILE_SYSTEM_STORAGE_DIALOG (fssd), + "Setting the uri of the storage dialog failed"); +} +END_TEST + +/** + * Purpose: Check if creating a new storage dialog works with file:///tmp as uri + */ +START_TEST (test_file_system_storage_dialog_new_tmp) +{ + fssd = hildon_file_system_storage_dialog_new (fssd_window, "file:///tmp"); + fail_if (!HILDON_IS_FILE_SYSTEM_STORAGE_DIALOG (fssd), + "File system storage dialog creation failed"); +} +END_TEST + +/** + * Purpose: Check if creating a new storage dialog works with a special location + */ +START_TEST (test_file_system_storage_dialog_new_special_location) +{ + char *folder = g_strconcat (start, ".documents", NULL); + + fssd = hildon_file_system_storage_dialog_new (fssd_window, folder); + fail_if (!HILDON_IS_FILE_SYSTEM_STORAGE_DIALOG (fssd), + "File system storage dialog creation failed"); +} +END_TEST + /* ------------------ Suite creation ------------------ */ Suite *create_hildonfm_file_system_storage_dialog_suite () @@ -116,15 +165,23 @@ /* Create test cases */ TCase *tc1 = tcase_create ("general_tests"); + TCase *tc2 = tcase_create ("creation_tests"); - /* Create a test case for general filesystem settings testing */ - tcase_add_checked_fixture - (tc1, fx_setup_hildonfm_file_system_storage_dialog, - fx_teardown_hildonfm_file_system_storage_dialog); + /* Create a test case for general storage dialog testing */ tcase_add_test (tc1, test_file_system_storage_dialog_type); - tcase_add_test (tc1, test_file_system_storage_dialog_new); suite_add_tcase (s, tc1); + /* Create a test case for creating storage dialogs */ + tcase_add_checked_fixture + (tc2, fx_setup_hildonfm_file_system_storage_dialog, + fx_teardown_hildonfm_file_system_storage_dialog); + tcase_add_test (tc2, test_file_system_storage_dialog_new); + tcase_add_test (tc2, test_file_system_storage_dialog_new_null); + tcase_add_test (tc2, test_file_system_storage_dialog_new_null_and_set_uri); + tcase_add_test (tc2, test_file_system_storage_dialog_new_tmp); + tcase_add_test (tc2, test_file_system_storage_dialog_new_special_location); + suite_add_tcase (s, tc2); + /* Return created suite */ return s; }
- Previous message: [maemo-commits] r15909 - in projects/haf/branches/hildon-fm/fremantle: . debian
- Next message: [maemo-commits] r15911 - in projects/haf/trunk/hildon-control-panel: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]