*/
#include <check.h>
+#include <modest-defs.h>
#include <modest-conf.h>
+#include <gtk/gtk.h>
+#include <string.h>
+#include <modest-init.h>
+static void
+fx_setup_modest_conf ()
+{
+ fail_unless (gtk_init_check (NULL, NULL));
+
+ fail_unless (g_setenv (MODEST_DIR_ENV, ".modesttest", TRUE));
+ fail_unless (g_setenv (MODEST_NAMESPACE_ENV, "/apps/modesttest", TRUE));
+ fail_unless (modest_init (0, NULL), "Failed running modest_init");
+
+}
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_defs_namespace ("/teststring");
+ const gchar *key2 = modest_defs_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 <key>");
+ fail_unless (!modest_conf_key_exists(conf, key2, NULL),
+ "modest_conf_key_exists should return FALSE for <key2>");
+
+ 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_defs_namespace ("/teststring");
+ const gchar *key2 = modest_defs_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 <key>");
+ fail_unless (!modest_conf_key_exists(conf, key2, NULL),
+ "modest_conf_key_exists should return FALSE for <key2>");
+
+ 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_defs_namespace ("/teststring");
+ const gchar *key2 = modest_defs_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 <key>");
+ fail_unless (!modest_conf_key_exists(conf, key2, NULL),
+ "modest_conf_key_exists should return FALSE for <key2>");
+
+ 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)
Suite *suite = suite_create ("ModestConf");
TCase *tc_core = tcase_create ("core");
+ tcase_add_checked_fixture (tc_core,
+ fx_setup_modest_conf,
+ NULL);
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 ()
{
suite = modest_conf_suite ();
srunner = srunner_create (suite);
- srunner_run_all (srunner, CK_NORMAL);
+ srunner_run_all (srunner, CK_ENV);
failures = srunner_ntests_failed (srunner);
srunner_free (srunner);