| Index: chrome/browser/shell_integration_linux_unittest.cc
|
| diff --git a/chrome/browser/shell_integration_linux_unittest.cc b/chrome/browser/shell_integration_linux_unittest.cc
|
| index 05438f06157d7197f06bc8947cf492c07d543e7f..d99a8c8ac0b1a84c65796676d8f5e979bb700032 100644
|
| --- a/chrome/browser/shell_integration_linux_unittest.cc
|
| +++ b/chrome/browser/shell_integration_linux_unittest.cc
|
| @@ -99,28 +99,25 @@ TEST(ShellIntegrationTest, GetDataWriteLocation) {
|
| // Test that it returns $XDG_DATA_HOME.
|
| {
|
| MockEnvironment env;
|
| - env.Set("HOME", "/home/user");
|
| + base::ScopedPathOverride home_override(base::DIR_HOME,
|
| + base::FilePath("/home/user"),
|
| + true /* absolute? */,
|
| + false /* create? */);
|
| env.Set("XDG_DATA_HOME", "/user/path");
|
| - base::FilePath path;
|
| - ASSERT_TRUE(GetDataWriteLocation(&env, &path));
|
| + base::FilePath path = GetDataWriteLocation(&env);
|
| EXPECT_EQ("/user/path", path.value());
|
| }
|
|
|
| // Test that $XDG_DATA_HOME falls back to $HOME/.local/share.
|
| {
|
| MockEnvironment env;
|
| - env.Set("HOME", "/home/user");
|
| - base::FilePath path;
|
| - ASSERT_TRUE(GetDataWriteLocation(&env, &path));
|
| + base::ScopedPathOverride home_override(base::DIR_HOME,
|
| + base::FilePath("/home/user"),
|
| + true /* absolute? */,
|
| + false /* create? */);
|
| + base::FilePath path = GetDataWriteLocation(&env);
|
| EXPECT_EQ("/home/user/.local/share", path.value());
|
| }
|
| -
|
| - // Test that if neither $XDG_DATA_HOME nor $HOME are specified, it fails.
|
| - {
|
| - MockEnvironment env;
|
| - base::FilePath path;
|
| - ASSERT_FALSE(GetDataWriteLocation(&env, &path));
|
| - }
|
| }
|
|
|
| TEST(ShellIntegrationTest, GetDataSearchLocations) {
|
| @@ -130,7 +127,10 @@ TEST(ShellIntegrationTest, GetDataSearchLocations) {
|
| // Test that it returns $XDG_DATA_HOME + $XDG_DATA_DIRS.
|
| {
|
| MockEnvironment env;
|
| - env.Set("HOME", "/home/user");
|
| + base::ScopedPathOverride home_override(base::DIR_HOME,
|
| + base::FilePath("/home/user"),
|
| + true /* absolute? */,
|
| + false /* create? */);
|
| env.Set("XDG_DATA_HOME", "/user/path");
|
| env.Set("XDG_DATA_DIRS", "/system/path/1:/system/path/2");
|
| EXPECT_THAT(
|
| @@ -143,7 +143,10 @@ TEST(ShellIntegrationTest, GetDataSearchLocations) {
|
| // Test that $XDG_DATA_HOME falls back to $HOME/.local/share.
|
| {
|
| MockEnvironment env;
|
| - env.Set("HOME", "/home/user");
|
| + base::ScopedPathOverride home_override(base::DIR_HOME,
|
| + base::FilePath("/home/user"),
|
| + true /* absolute? */,
|
| + false /* create? */);
|
| env.Set("XDG_DATA_DIRS", "/system/path/1:/system/path/2");
|
| EXPECT_THAT(
|
| FilePathsToStrings(GetDataSearchLocations(&env)),
|
| @@ -157,16 +160,21 @@ TEST(ShellIntegrationTest, GetDataSearchLocations) {
|
| {
|
| MockEnvironment env;
|
| env.Set("XDG_DATA_DIRS", "/system/path/1:/system/path/2");
|
| - EXPECT_THAT(
|
| - FilePathsToStrings(GetDataSearchLocations(&env)),
|
| - ElementsAre("/system/path/1",
|
| - "/system/path/2"));
|
| + std::vector<std::string> results =
|
| + FilePathsToStrings(GetDataSearchLocations(&env));
|
| + ASSERT_EQ(3U, results.size());
|
| + EXPECT_FALSE(results[0].empty());
|
| + EXPECT_EQ("/system/path/1", results[1]);
|
| + EXPECT_EQ("/system/path/2", results[2]);
|
| }
|
|
|
| // Test that $XDG_DATA_DIRS falls back to the two default paths.
|
| {
|
| MockEnvironment env;
|
| - env.Set("HOME", "/home/user");
|
| + base::ScopedPathOverride home_override(base::DIR_HOME,
|
| + base::FilePath("/home/user"),
|
| + true /* absolute? */,
|
| + false /* create? */);
|
| env.Set("XDG_DATA_HOME", "/user/path");
|
| EXPECT_THAT(
|
| FilePathsToStrings(GetDataSearchLocations(&env)),
|
| @@ -316,7 +324,10 @@ TEST(ShellIntegrationTest, GetExistingShortcutContents) {
|
| ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
|
|
| MockEnvironment env;
|
| - env.Set("HOME", temp_dir.path().value());
|
| + base::ScopedPathOverride home_override(base::DIR_HOME,
|
| + temp_dir.path(),
|
| + true /* absolute? */,
|
| + false /* create? */);
|
| ASSERT_TRUE(base::CreateDirectory(
|
| temp_dir.path().Append(".local/share/applications")));
|
| ASSERT_TRUE(WriteString(
|
|
|