From: Dirk-Jan C. Binnema Date: Mon, 11 Dec 2006 12:40:51 +0000 (+0000) Subject: * added some tests cases for ModestConf and ModestTextUtils X-Git-Tag: git_migration_finished~4340 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=7f79f856b98903a92c7861e8bc37d24ad2500049 * added some tests cases for ModestConf and ModestTextUtils pmo-trunk-r539 --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 15cc3e2..167a1ba 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -9,13 +9,14 @@ TESTS_ENVIRONMENT = top_builddir=$(top_builddir) TESTS = \ check_folder-xfer \ check_update-account \ - check_modest-conf + check_modest-conf \ + check_text-utils noinst_PROGRAMS= \ check_folder-xfer \ check_update-account \ - check_modest-conf - + check_modest-conf \ + check_text-utils INCLUDES=\ @CHECK_CFLAGS@ \ @@ -58,3 +59,7 @@ check_update_account_LDADD = $(objects) check_modest_conf_SOURCES=\ check_modest-conf.c check_modest_conf_LDADD = $(objects) + +check_text_utils_SOURCES=\ + check_text-utils.c +check_text_utils_LDADD = $(objects) diff --git a/tests/check_modest-conf.c b/tests/check_modest-conf.c index 687405e..c97762a 100644 --- a/tests/check_modest-conf.c +++ b/tests/check_modest-conf.c @@ -31,7 +31,6 @@ #include - START_TEST (test_modest_conf_new) { ModestConf *conf = modest_conf_new (); @@ -43,6 +42,116 @@ START_TEST (test_modest_conf_new) END_TEST +START_TEST (test_modest_conf_store_retrieve_string) +{ + ModestConf *conf = modest_conf_new (); + const gchar *key = MODEST_CONF_NAMESPACE "/teststring"; + const gchar *key2 = MODEST_CONF_NAMESPACE "/teststring2"; + + const gchar *data = "hello in Korean: 안녕하세요"; + gchar *data2; + + fail_unless (MODEST_IS_CONF(conf), + "modest_conf_new should return a valid" + " ModestConf instance"); + + fail_unless (modest_conf_set_string ( + conf, key, data, NULL), + "modest_conf_set_string should return TRUE"); + + fail_unless (modest_conf_key_exists(conf, key, NULL), + "modest_conf_key_exists should return TRUE for "); + fail_unless (!modest_conf_key_exists(conf, key2, NULL), + "modest_conf_key_exists should return FALSE for "); + + data2 = modest_conf_get_string (conf, key, NULL); + fail_unless (data2 && strcmp (data2, data) == 0, + "modest_conf_get_string should return what we put there"); + g_free (data2); + + fail_unless (modest_conf_remove_key (conf, key, NULL), + "modest_conf_remove_key should return TRUE"); + + fail_unless (!modest_conf_key_exists(conf, key, NULL), + "modest_conf_key should return FALSE after we" + "removed the key"); + + g_object_unref (conf); +} +END_TEST + + + +START_TEST (test_modest_conf_store_retrieve_bool) +{ + ModestConf *conf = modest_conf_new (); + const gchar *key = MODEST_CONF_NAMESPACE "/teststring"; + const gchar *key2 = MODEST_CONF_NAMESPACE "/teststring2"; + + gboolean data = TRUE, data2; + + fail_unless (MODEST_IS_CONF(conf), + "modest_conf_new should return a valid" + " ModestConf instance"); + + fail_unless (modest_conf_set_bool (conf, key, data, NULL), + "modest_conf_set_bool should return TRUE"); + + fail_unless (modest_conf_key_exists(conf, key, NULL), + "modest_conf_key_exists should return TRUE for "); + fail_unless (!modest_conf_key_exists(conf, key2, NULL), + "modest_conf_key_exists should return FALSE for "); + + data2 = modest_conf_get_bool (conf, key, NULL); + fail_unless (data2 == data, + "modest_conf_get_bool should return what we put there"); + fail_unless (modest_conf_remove_key (conf, key, NULL), + "modest_conf_remove_key should return TRUE"); + + fail_unless (!modest_conf_key_exists(conf, key, NULL), + "modest_conf_key should return FALSE after we" + "removed the key"); + + g_object_unref (conf); +} +END_TEST + + +START_TEST (test_modest_conf_store_retrieve_int) +{ + ModestConf *conf = modest_conf_new (); + const gchar *key = MODEST_CONF_NAMESPACE "/teststring"; + const gchar *key2 = MODEST_CONF_NAMESPACE "/teststring2"; + + gint data = 99, data2; + + fail_unless (MODEST_IS_CONF(conf), + "modest_conf_new should return a valid" + " ModestConf instance"); + + fail_unless (modest_conf_set_int (conf, key, data, NULL), + "modest_conf_set_int should return TRUE"); + + fail_unless (modest_conf_key_exists(conf, key, NULL), + "modest_conf_key_exists should return TRUE for "); + fail_unless (!modest_conf_key_exists(conf, key2, NULL), + "modest_conf_key_exists should return FALSE for "); + + data2 = modest_conf_get_int (conf, key, NULL); + fail_unless (data2 == data, + "modest_conf_get_int should return what we put there"); + fail_unless (modest_conf_remove_key (conf, key, NULL), + "modest_conf_remove_key should return TRUE"); + + fail_unless (!modest_conf_key_exists(conf, key, NULL), + "modest_conf_key should return FALSE after we" + "removed the key"); + + g_object_unref (conf); +} +END_TEST + + static Suite* modest_conf_suite (void) @@ -51,12 +160,16 @@ modest_conf_suite (void) TCase *tc_core = tcase_create ("core"); tcase_add_test (tc_core, test_modest_conf_new); + tcase_add_test (tc_core, test_modest_conf_store_retrieve_string); + tcase_add_test (tc_core, test_modest_conf_store_retrieve_bool); + tcase_add_test (tc_core, test_modest_conf_store_retrieve_int); suite_add_tcase (suite, tc_core); return suite; } + int main () { diff --git a/tests/check_text-utils.c b/tests/check_text-utils.c new file mode 100644 index 0000000..671076a --- /dev/null +++ b/tests/check_text-utils.c @@ -0,0 +1,90 @@ +/* Copyright (c) 2006, Nokia Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the Nokia Corporation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include + +typedef struct { + const gchar *original; + const gchar *expected; +} StringPair; + +START_TEST (test_display_address) +{ + int i; + const StringPair tests[] = { + { "John Doe ", "John Doe" }, + { "Rupert Griffin (test)", "Rupert Griffin"}, + { "Hyvää päivää ", "Hyvää päivää"}, + }; + + for (i = 0; i != sizeof(tests)/sizeof(StringPair); ++i) { + gchar *str = g_strdup (tests[i].original); + str = modest_text_utils_display_address (str); + fail_unless (str && strcmp(str, tests[i].expected) == 0, + "modest_text_utils_display_address failed for '%s': " + "expected '%s' but got '%s'", + tests[i].original, tests[i].expected, str); + g_free (str); + } +} +END_TEST + + + +static Suite* +text_utils_suite (void) +{ + Suite *suite = suite_create ("ModestTextUtils"); + + TCase *tc_core = tcase_create ("core"); + tcase_add_test (tc_core, test_display_address); + + suite_add_tcase (suite, tc_core); + + return suite; +} + + +int +main () +{ + SRunner *srunner; + Suite *suite; + int failures; + + suite = text_utils_suite (); + srunner = srunner_create (suite); + + srunner_run_all (srunner, CK_NORMAL); + failures = srunner_ntests_failed (srunner); + srunner_free (srunner); + + return failures; +}