111
113
const gchar* env = g_getenv("XDG_DATA_DIRS");
112
114
std::string old_dirs = env ? env : "";
113
g_setenv("XDG_DATA_DIRS", "dir1:dir2::dir3:dir4:/usr/share", TRUE);
115
g_setenv("XDG_DATA_DIRS", ("dir1:dir2::dir3:dir4:"+LOCAL_DATA_DIR).c_str(), TRUE);
115
117
std::vector<std::string> const& system_dirs = DesktopUtilities::GetSystemDataDirectories();
121
123
EXPECT_THAT(system_dirs[1], Eq("dir2"));
122
124
EXPECT_THAT(system_dirs[2], Eq("dir3"));
123
125
EXPECT_THAT(system_dirs[3], Eq("dir4"));
124
EXPECT_THAT(system_dirs[4], Eq("/usr/share"));
126
EXPECT_THAT(system_dirs[4], Eq(LOCAL_DATA_DIR));
127
129
TEST(TestDesktopUtilitiesDataDirectories, TestGetDataDirectory)
131
133
env = g_getenv("XDG_DATA_HOME");
132
134
std::string old_home = env ? env : "";
134
g_setenv("XDG_DATA_DIRS", "dir1:dir2::dir3:dir4:/usr/share", TRUE);
136
g_setenv("XDG_DATA_DIRS", ("dir1:dir2::dir3:dir4:"+LOCAL_DATA_DIR).c_str(), TRUE);
135
137
g_setenv("XDG_DATA_HOME", "UnityUserConfig", TRUE);
137
139
std::vector<std::string> const& data_dirs = DesktopUtilities::GetDataDirectories();
144
146
EXPECT_THAT(data_dirs[1], Eq("dir2"));
145
147
EXPECT_THAT(data_dirs[2], Eq("dir3"));
146
148
EXPECT_THAT(data_dirs[3], Eq("dir4"));
147
EXPECT_THAT(data_dirs[4], Eq("/usr/share"));
149
EXPECT_THAT(data_dirs[4], Eq(LOCAL_DATA_DIR));
148
150
EXPECT_THAT(data_dirs[5], Eq("UnityUserConfig"));
155
157
env = g_getenv("XDG_DATA_HOME");
156
158
std::string old_home = env ? env : "";
158
g_setenv("XDG_DATA_DIRS", "/usr/share", TRUE);
160
g_setenv("XDG_DATA_DIRS", LOCAL_DATA_DIR.c_str(), TRUE);
159
161
g_setenv("XDG_DATA_HOME", "UnityUserConfig", TRUE);
161
std::string const& file = DesktopUtilities::GetDesktopPathById("gnome-terminal.desktop");
163
std::string const& file = DesktopUtilities::GetDesktopPathById("ubuntu-software-center.desktop");
163
165
g_setenv("XDG_DATA_DIRS", old_dirs.c_str(), TRUE);
164
166
g_setenv("XDG_DATA_HOME", old_dirs.c_str(), TRUE);
166
EXPECT_EQ(file, "/usr/share/applications/gnome-terminal.desktop");
168
EXPECT_EQ(file, LOCAL_DATA_DIR + "/applications/ubuntu-software-center.desktop");
169
171
TEST(TestDesktopUtilities, TestGetBackgroundColor)
171
std::string const& color = DesktopUtilities::GetBackgroundColor(BUILDDIR"/tests/data/ubuntu-software-center.desktop");
173
std::string const& color = DesktopUtilities::GetBackgroundColor(LOCAL_DATA_DIR+"/applications/ubuntu-software-center.desktop");
173
175
EXPECT_EQ(color, "#aabbcc");
176
178
TEST(TestDesktopUtilities, TestGetBackgroundColorNoKey)
178
std::string const& color = DesktopUtilities::GetBackgroundColor(BUILDDIR"/tests/data/update-manager.desktop");
180
std::string const& color = DesktopUtilities::GetBackgroundColor(LOCAL_DATA_DIR+"/applications/update-manager.desktop");
180
182
EXPECT_TRUE(color.empty());