~townsend/unity/fix-lp1301394-trusty

« back to all changes in this revision

Viewing changes to tests/test_desktop_utilities.cpp

  • Committer: Marco Trevisan (Treviño)
  • Date: 2012-09-18 15:47:49 UTC
  • mto: This revision was merged to the branch mainline in revision 2713.
  • Revision ID: mail@3v1n0.net-20120918154749-24znz8xth0y4aptz
Tests: move the .desktop applications in a data dir so that it's more XDG compliant

Fix the TestDesktopUtilities tests so that it won't depend on system changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
 
32
32
namespace {
33
33
 
 
34
const std::string LOCAL_DATA_DIR = BUILDDIR"/tests/data";
 
35
 
34
36
TEST(TestDesktopUtilitiesDesktopID, TestEmptyValues)
35
37
{
36
38
  std::vector<std::string> empty_list;
110
112
{
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);
114
116
 
115
117
  std::vector<std::string> const& system_dirs = DesktopUtilities::GetSystemDataDirectories();
116
118
 
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));
125
127
}
126
128
 
127
129
TEST(TestDesktopUtilitiesDataDirectories, TestGetDataDirectory)
131
133
  env = g_getenv("XDG_DATA_HOME");
132
134
  std::string old_home = env ? env : "";
133
135
 
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);
136
138
 
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"));
149
151
}
150
152
 
155
157
  env = g_getenv("XDG_DATA_HOME");
156
158
  std::string old_home = env ? env : "";
157
159
 
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);
160
162
 
161
 
  std::string const& file = DesktopUtilities::GetDesktopPathById("gnome-terminal.desktop");
 
163
  std::string const& file = DesktopUtilities::GetDesktopPathById("ubuntu-software-center.desktop");
162
164
 
163
165
  g_setenv("XDG_DATA_DIRS", old_dirs.c_str(), TRUE);
164
166
  g_setenv("XDG_DATA_HOME", old_dirs.c_str(), TRUE);
165
167
 
166
 
  EXPECT_EQ(file, "/usr/share/applications/gnome-terminal.desktop");
 
168
  EXPECT_EQ(file, LOCAL_DATA_DIR + "/applications/ubuntu-software-center.desktop");
167
169
}
168
170
 
169
171
TEST(TestDesktopUtilities, TestGetBackgroundColor)
170
172
{
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");
172
174
 
173
175
  EXPECT_EQ(color, "#aabbcc");
174
176
}
175
177
 
176
178
TEST(TestDesktopUtilities, TestGetBackgroundColorNoKey)
177
179
{
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");
179
181
 
180
182
  EXPECT_TRUE(color.empty());
181
183
}