summaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
Diffstat (limited to 'unittests')
-rw-r--r--unittests/EnchantTestFixture.h62
-rw-r--r--unittests/Makefile.am2
-rw-r--r--unittests/provider/enchant_provider_get_user_config_dirs_tests.cpp7
3 files changed, 10 insertions, 61 deletions
diff --git a/unittests/EnchantTestFixture.h b/unittests/EnchantTestFixture.h
index 4725ef1..4e39107 100644
--- a/unittests/EnchantTestFixture.h
+++ b/unittests/EnchantTestFixture.h
@@ -51,12 +51,11 @@ struct EnchantTestFixture
EnchantTestFixture()
{
CleanUpFiles(); //just in case we stopped the process in the middle.
- MoveEnchantUserFilesOutOfTheWay();
+ CreateDirectory(GetTempUserEnchantDir());
}
//Teardown
~EnchantTestFixture(){
- RestoreEnchantUserFiles();
CleanUpFiles();
}
void CleanUpFiles()
@@ -69,43 +68,7 @@ struct EnchantTestFixture
std::string GetTempUserEnchantDir()
{
- return GetEnchantHomeDirFromBase(g_get_user_config_dir());
- }
-
- void MoveEnchantUserFilesOutOfTheWay()
- {
- GetFilesOutOfTheWay(GetEnchantHomeDirFromBase(g_get_user_config_dir()));
- GetFilesOutOfTheWay(GetEnchantHomeDirFromBase(g_get_home_dir()));
- }
-
- void RestoreEnchantUserFiles()
- {
- RestoreFiles(GetEnchantHomeDirFromBase(g_get_user_config_dir()));
- RestoreFiles(GetEnchantHomeDirFromBase(g_get_home_dir()));
- }
-
-#define OUT_OF_THE_WAY ".real";
-
- void GetFilesOutOfTheWay(const std::string& dir)
- {
- std::string toTheSideDir = dir + OUT_OF_THE_WAY;
-
- if(DirExists(dir) && !DirExists(toTheSideDir))
- {
- MoveDir(dir, toTheSideDir);
- }
-
- DeleteDirAndFiles(dir);
- }
-
- void RestoreFiles(const std::string& dir)
- {
- std::string toTheSideDir = dir + OUT_OF_THE_WAY;
- if(DirExists(toTheSideDir))
- {
- DeleteDirAndFiles(dir);
- MoveDir(toTheSideDir, dir);
- }
+ return getenv("ENCHANT_CONFIG_DIR");
}
std::string GetEnchantConfigDir()
@@ -113,27 +76,6 @@ struct EnchantTestFixture
return AddToPath(AddToPath(GetDirectoryOfThisModule(), "share"), "enchant");
}
- static bool DirExists(const std::string& dir)
- {
- return g_file_test(dir.c_str(), G_FILE_TEST_IS_DIR) != 0;
- }
-
- static void MoveDir(const std::string& from, const std::string& to)
- {
- int result = g_rename(from.c_str(), to.c_str());
- if(result!= 0)
- {
- perror("failed (will retry)");
- // try once more.
- result = g_rename(from.c_str(), to.c_str());
- }
- assert(result == 0);
- if(result!= 0)
- {
- perror("failed (giving up)");
- }
- }
-
static void DeleteDirAndFiles(const std::string& dir)
{
GDir* gdir = g_dir_open(dir.c_str(), 0, NULL);
diff --git a/unittests/Makefile.am b/unittests/Makefile.am
index 9eb660e..a427ec8 100644
--- a/unittests/Makefile.am
+++ b/unittests/Makefile.am
@@ -6,6 +6,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/src $(ENCHANT_CFLAGS) $(UNITTESTPP_CFLAGS)
AM_TESTS_ENVIRONMENT = \
ENCHANT_PREFIX_DIR=""; \
export ENCHANT_PREFIX_DIR; \
+ ENCHANT_CONFIG_DIR="config"; \
+ export ENCHANT_CONFIG_DIR; \
cp $(builddir)/mock_provider/*.so $(builddir)/mock_provider/.libs/*.so $(builddir)/mock_provider/*.dll $(builddir)/mock_provider/.libs/*.dll . || :;
DEPS = $(top_builddir)/src/libenchant.la
diff --git a/unittests/provider/enchant_provider_get_user_config_dirs_tests.cpp b/unittests/provider/enchant_provider_get_user_config_dirs_tests.cpp
index 7b4e314..33f71db 100644
--- a/unittests/provider/enchant_provider_get_user_config_dirs_tests.cpp
+++ b/unittests/provider/enchant_provider_get_user_config_dirs_tests.cpp
@@ -42,10 +42,15 @@ TEST_FIXTURE(EnchantTestFixture,
CHECK(enchantUserConfigDirs);
GSList* iter = enchantUserConfigDirs;
+
+ std::string expected = getenv("ENCHANT_CONFIG_DIR");
+ CHECK_EQUAL(expected, (gchar *) iter->data);
+ iter = iter->next;
+
CHECK_EQUAL(GetEnchantHomeDirFromBase(g_get_user_config_dir()), (gchar*) iter->data);
iter = iter->next;
- std::string expected = GetEnchantHomeDirFromHome(g_get_home_dir());
+ expected = GetEnchantHomeDirFromHome(g_get_home_dir());
std::string actual((char*) iter->data);
CHECK_EQUAL(expected, actual);
g_slist_free(enchantUserConfigDirs);