Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Side by Side Diff: chrome/browser/shell_integration_unittest.cc

Issue 1606007: Move EnvironmentVariableGetter from base/linux_util.h to base/env_var.h. Labe... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix windows build for good this time? Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/shell_integration_linux.cc ('k') | chrome/browser/web_applications/web_app.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/shell_integration.h" 5 #include "chrome/browser/shell_integration.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "base/scoped_temp_dir.h" 12 #include "base/scoped_temp_dir.h"
13 #include "base/stl_util-inl.h" 13 #include "base/stl_util-inl.h"
14 #include "base/string_util.h" 14 #include "base/string_util.h"
15 #include "chrome/browser/chrome_thread.h" 15 #include "chrome/browser/chrome_thread.h"
16 #include "chrome/common/chrome_constants.h" 16 #include "chrome/common/chrome_constants.h"
17 #include "chrome/common/chrome_paths_internal.h" 17 #include "chrome/common/chrome_paths_internal.h"
18 #include "googleurl/src/gurl.h" 18 #include "googleurl/src/gurl.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 20
21 #if defined(OS_LINUX) 21 #if defined(OS_LINUX)
22 #include "base/linux_util.h" 22 #include "base/env_var.h"
23 #endif // defined(OS_LINUX) 23 #endif // defined(OS_LINUX)
24 24
25 #define FPL FILE_PATH_LITERAL 25 #define FPL FILE_PATH_LITERAL
26 26
27 #if defined(OS_LINUX) 27 #if defined(OS_LINUX)
28 namespace { 28 namespace {
29 29
30 // Provides mock environment variables values based on a stored map. 30 // Provides mock environment variables values based on a stored map.
31 class MockEnvironmentVariableGetter : public base::EnvironmentVariableGetter { 31 class MockEnvVarGetter : public base::EnvVarGetter {
32 public: 32 public:
33 MockEnvironmentVariableGetter() { 33 MockEnvVarGetter() {
34 } 34 }
35 35
36 void Set(const std::string& name, const std::string& value) { 36 void Set(const std::string& name, const std::string& value) {
37 variables_[name] = value; 37 variables_[name] = value;
38 } 38 }
39 39
40 virtual bool Getenv(const char* variable_name, std::string* result) { 40 virtual bool GetEnv(const char* variable_name, std::string* result) {
41 if (ContainsKey(variables_, variable_name)) { 41 if (ContainsKey(variables_, variable_name)) {
42 *result = variables_[variable_name]; 42 *result = variables_[variable_name];
43 return true; 43 return true;
44 } 44 }
45 45
46 return false; 46 return false;
47 } 47 }
48 48
49 private: 49 private:
50 std::map<std::string, std::string> variables_; 50 std::map<std::string, std::string> variables_;
51 51
52 DISALLOW_COPY_AND_ASSIGN(MockEnvironmentVariableGetter); 52 DISALLOW_COPY_AND_ASSIGN(MockEnvVarGetter);
53 }; 53 };
54 54
55 } // namespace 55 } // namespace
56 56
57 TEST(ShellIntegrationTest, GetDesktopShortcutTemplate) { 57 TEST(ShellIntegrationTest, GetDesktopShortcutTemplate) {
58 #if defined(GOOGLE_CHROME_BUILD) 58 #if defined(GOOGLE_CHROME_BUILD)
59 const char kTemplateFilename[] = "google-chrome.desktop"; 59 const char kTemplateFilename[] = "google-chrome.desktop";
60 #else // CHROMIUM_BUILD 60 #else // CHROMIUM_BUILD
61 const char kTemplateFilename[] = "chromium-browser.desktop"; 61 const char kTemplateFilename[] = "chromium-browser.desktop";
62 #endif 62 #endif
63 63
64 const char kTestData1[] = "a magical testing string"; 64 const char kTestData1[] = "a magical testing string";
65 const char kTestData2[] = "a different testing string"; 65 const char kTestData2[] = "a different testing string";
66 66
67 MessageLoop message_loop; 67 MessageLoop message_loop;
68 ChromeThread file_thread(ChromeThread::FILE, &message_loop); 68 ChromeThread file_thread(ChromeThread::FILE, &message_loop);
69 69
70 { 70 {
71 ScopedTempDir temp_dir; 71 ScopedTempDir temp_dir;
72 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 72 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
73 73
74 MockEnvironmentVariableGetter env_getter; 74 MockEnvVarGetter env_getter;
75 env_getter.Set("XDG_DATA_HOME", temp_dir.path().value()); 75 env_getter.Set("XDG_DATA_HOME", temp_dir.path().value());
76 ASSERT_TRUE(file_util::WriteFile( 76 ASSERT_TRUE(file_util::WriteFile(
77 temp_dir.path().AppendASCII(kTemplateFilename), 77 temp_dir.path().AppendASCII(kTemplateFilename),
78 kTestData1, strlen(kTestData1))); 78 kTestData1, strlen(kTestData1)));
79 std::string contents; 79 std::string contents;
80 ASSERT_TRUE(ShellIntegration::GetDesktopShortcutTemplate(&env_getter, 80 ASSERT_TRUE(ShellIntegration::GetDesktopShortcutTemplate(&env_getter,
81 &contents)); 81 &contents));
82 EXPECT_EQ(kTestData1, contents); 82 EXPECT_EQ(kTestData1, contents);
83 } 83 }
84 84
85 { 85 {
86 ScopedTempDir temp_dir; 86 ScopedTempDir temp_dir;
87 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 87 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
88 88
89 MockEnvironmentVariableGetter env_getter; 89 MockEnvVarGetter env_getter;
90 env_getter.Set("XDG_DATA_DIRS", temp_dir.path().value()); 90 env_getter.Set("XDG_DATA_DIRS", temp_dir.path().value());
91 ASSERT_TRUE(file_util::CreateDirectory( 91 ASSERT_TRUE(file_util::CreateDirectory(
92 temp_dir.path().AppendASCII("applications"))); 92 temp_dir.path().AppendASCII("applications")));
93 ASSERT_TRUE(file_util::WriteFile( 93 ASSERT_TRUE(file_util::WriteFile(
94 temp_dir.path().AppendASCII("applications") 94 temp_dir.path().AppendASCII("applications")
95 .AppendASCII(kTemplateFilename), 95 .AppendASCII(kTemplateFilename),
96 kTestData2, strlen(kTestData2))); 96 kTestData2, strlen(kTestData2)));
97 std::string contents; 97 std::string contents;
98 ASSERT_TRUE(ShellIntegration::GetDesktopShortcutTemplate(&env_getter, 98 ASSERT_TRUE(ShellIntegration::GetDesktopShortcutTemplate(&env_getter,
99 &contents)); 99 &contents));
100 EXPECT_EQ(kTestData2, contents); 100 EXPECT_EQ(kTestData2, contents);
101 } 101 }
102 102
103 { 103 {
104 ScopedTempDir temp_dir; 104 ScopedTempDir temp_dir;
105 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 105 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
106 106
107 MockEnvironmentVariableGetter env_getter; 107 MockEnvVarGetter env_getter;
108 env_getter.Set("XDG_DATA_DIRS", temp_dir.path().value() + ":" + 108 env_getter.Set("XDG_DATA_DIRS", temp_dir.path().value() + ":" +
109 temp_dir.path().AppendASCII("applications").value()); 109 temp_dir.path().AppendASCII("applications").value());
110 ASSERT_TRUE(file_util::CreateDirectory( 110 ASSERT_TRUE(file_util::CreateDirectory(
111 temp_dir.path().AppendASCII("applications"))); 111 temp_dir.path().AppendASCII("applications")));
112 ASSERT_TRUE(file_util::WriteFile( 112 ASSERT_TRUE(file_util::WriteFile(
113 temp_dir.path().AppendASCII(kTemplateFilename), 113 temp_dir.path().AppendASCII(kTemplateFilename),
114 kTestData1, strlen(kTestData1))); 114 kTestData1, strlen(kTestData1)));
115 ASSERT_TRUE(file_util::WriteFile( 115 ASSERT_TRUE(file_util::WriteFile(
116 temp_dir.path().AppendASCII("applications") 116 temp_dir.path().AppendASCII("applications")
117 .AppendASCII(kTemplateFilename), 117 .AppendASCII(kTemplateFilename),
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 298
299 // Non-default profile path should get chrome::kBrowserAppID joined with 299 // Non-default profile path should get chrome::kBrowserAppID joined with
300 // profile info. 300 // profile info.
301 FilePath profile_path(FILE_PATH_LITERAL("root")); 301 FilePath profile_path(FILE_PATH_LITERAL("root"));
302 profile_path = profile_path.Append(FILE_PATH_LITERAL("udd")); 302 profile_path = profile_path.Append(FILE_PATH_LITERAL("udd"));
303 profile_path = profile_path.Append(FILE_PATH_LITERAL("User Data - Test")); 303 profile_path = profile_path.Append(FILE_PATH_LITERAL("User Data - Test"));
304 EXPECT_EQ(std::wstring(chrome::kBrowserAppID) + L".udd.UserDataTest", 304 EXPECT_EQ(std::wstring(chrome::kBrowserAppID) + L".udd.UserDataTest",
305 ShellIntegration::GetChromiumAppId(profile_path)); 305 ShellIntegration::GetChromiumAppId(profile_path));
306 } 306 }
307 #endif 307 #endif
OLDNEW
« no previous file with comments | « chrome/browser/shell_integration_linux.cc ('k') | chrome/browser/web_applications/web_app.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698