TEST_FIXTURE(EnchantTestFixture, GetUserConfigDir_FromRegistryConfigDataDir) { std::string configDir("here I am"); SetUserRegistryConfigDir(configDir); GSList * enchantUserConfigDirs = enchant_get_user_config_dirs(); CHECK(enchantUserConfigDirs); CHECK_EQUAL(configDir, (gchar*) enchantUserConfigDirs->data); g_slist_free(enchantUserConfigDirs); }
TEST_FIXTURE(EnchantTestFixture, GetUserConfigDir_BlankFromRegistryConfigDataDir_RegistryEntryIgnored) { std::string configDir(""); SetUserRegistryConfigDir(configDir); GSList * enchantUserConfigDirs = enchant_get_user_config_dirs(); CHECK(enchantUserConfigDirs); CHECK_EQUAL(GetEnchantHomeDirFromBase(g_get_user_config_dir()), (gchar*) enchantUserConfigDirs->data); g_slist_free(enchantUserConfigDirs); }
TEST_FIXTURE(EnchantTestFixture, GetUserConfigDir) { GSList * enchantUserConfigDirs = enchant_get_user_config_dirs(); CHECK(enchantUserConfigDirs); GSList* iter = enchantUserConfigDirs; #ifdef _WIN32 CHECK_EQUAL(GetEnchantHomeDirFromBase(g_get_user_config_dir()), (gchar*) iter->data); iter = iter->next; #endif CHECK_EQUAL(GetEnchantHomeDirFromBase(g_get_home_dir()), (gchar*) iter->data); g_slist_free(enchantUserConfigDirs); }
TEST_FIXTURE(EnchantTestFixture, GetUserConfigDir_FromRegistryConfigHomeDir) { std::string homeDir("here I am"); SetRegistryHomeDir(homeDir); GSList * enchantUserConfigDirs = enchant_get_user_config_dirs(); CHECK(enchantUserConfigDirs); GSList* iter = enchantUserConfigDirs->next; CHECK(iter); CHECK_EQUAL(GetEnchantHomeDirFromBase(homeDir), (gchar*) iter->data); g_slist_free(enchantUserConfigDirs); }
static GSList * ispell_checker_get_dictionary_dirs (void) { GSList *dirs = NULL; { GSList *config_dirs, *iter; config_dirs = enchant_get_user_config_dirs (); for (iter = config_dirs; iter; iter = iter->next) { dirs = g_slist_append (dirs, g_build_filename ((const gchar *)iter->data, ENCHANT_ISPELL_HOME_DIR, NULL)); } g_slist_foreach (config_dirs, (GFunc)g_free, NULL); g_slist_free (config_dirs); } /* until I work out how to link the modules against enchant in MacOSX - fjf */ #ifndef XP_TARGET_COCOA char * ispell_prefix = NULL; /* Look for explicitly set registry values */ ispell_prefix = enchant_get_registry_value ("Ispell", "Data_Dir"); if (ispell_prefix) dirs = g_slist_append (dirs, ispell_prefix); /* Dynamically locate library and search for modules relative to it. */ char * enchant_prefix = enchant_get_prefix_dir(); if(enchant_prefix) { ispell_prefix = g_build_filename(enchant_prefix, "share", "enchant", "ispell", NULL); g_free(enchant_prefix); dirs = g_slist_append (dirs, ispell_prefix); } #endif #ifdef ENCHANT_ISPELL_DICT_DIR dirs = g_slist_append (dirs, g_strdup (ENCHANT_ISPELL_DICT_DIR)); #endif return dirs; }
static GSList * uspell_checker_get_dictionary_dirs (EnchantBroker * broker) { GSList *dirs = NULL; { GSList *config_dirs, *iter; config_dirs = enchant_get_user_config_dirs (); for (iter = config_dirs; iter; iter = iter->next) { dirs = g_slist_append (dirs, g_build_filename ((const gchar *)iter->data, "uspell", NULL)); } g_slist_foreach (config_dirs, (GFunc)g_free, NULL); g_slist_free (config_dirs); } { const gchar* const * system_data_dirs = g_get_system_data_dirs (); const gchar* const * iter; for (iter = system_data_dirs; *iter; iter++) { dirs = g_slist_append (dirs, g_build_filename (*iter, "uspell", "dicts", NULL)); } } /* until I work out how to link the modules against enchant in MacOSX - fjf */ #ifndef XP_TARGET_COCOA char * uspell_prefix = NULL; /* Look for explicitly set registry values */ uspell_prefix = enchant_get_registry_value ("Uspell", "Data_Dir"); if (uspell_prefix) dirs = g_slist_append (dirs, uspell_prefix); /* Dynamically locate library and search for modules relative to it. */ char * enchant_prefix = enchant_get_prefix_dir(); if(enchant_prefix) { uspell_prefix = g_build_filename(enchant_prefix, "share", "enchant", "uspell", NULL); g_free(enchant_prefix); dirs = g_slist_append (dirs, uspell_prefix); } #endif #ifdef ENCHANT_USPELL_DICT_DIR dirs = g_slist_append (dirs, g_strdup (ENCHANT_USPELL_DICT_DIR)); #endif { GSList *config_dirs, *iter; config_dirs = enchant_get_dirs_from_param (broker, "enchant.uspell.dictionary.path"); for (iter = config_dirs; iter; iter = iter->next) { dirs = g_slist_append (dirs, g_strdup ((const gchar *)iter->data)); } g_slist_foreach (config_dirs, (GFunc)g_free, NULL); g_slist_free (config_dirs); } return dirs; }