| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <cstdlib> | 7 #include <cstdlib> |
| 8 #include <map> | 8 #include <map> |
| 9 | 9 |
| 10 #include "base/base_paths.h" | 10 #include "base/base_paths.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 | 71 |
| 72 } // namespace | 72 } // namespace |
| 73 | 73 |
| 74 TEST(ShellIntegrationTest, GetExistingShortcutLocations) { | 74 TEST(ShellIntegrationTest, GetExistingShortcutLocations) { |
| 75 base::FilePath kProfilePath("Default"); | 75 base::FilePath kProfilePath("Default"); |
| 76 const char kExtensionId[] = "test_extension"; | 76 const char kExtensionId[] = "test_extension"; |
| 77 const char kTemplateFilename[] = "chrome-test_extension-Default.desktop"; | 77 const char kTemplateFilename[] = "chrome-test_extension-Default.desktop"; |
| 78 base::FilePath kTemplateFilepath(kTemplateFilename); | 78 base::FilePath kTemplateFilepath(kTemplateFilename); |
| 79 const char kNoDisplayDesktopFile[] = "[Desktop Entry]\nNoDisplay=true"; | 79 const char kNoDisplayDesktopFile[] = "[Desktop Entry]\nNoDisplay=true"; |
| 80 | 80 |
| 81 MessageLoop message_loop; | 81 base::MessageLoop message_loop; |
| 82 content::TestBrowserThread file_thread(BrowserThread::FILE, &message_loop); | 82 content::TestBrowserThread file_thread(BrowserThread::FILE, &message_loop); |
| 83 | 83 |
| 84 // No existing shortcuts. | 84 // No existing shortcuts. |
| 85 { | 85 { |
| 86 MockEnvironment env; | 86 MockEnvironment env; |
| 87 ShellIntegration::ShortcutLocations result = | 87 ShellIntegration::ShortcutLocations result = |
| 88 ShellIntegrationLinux::GetExistingShortcutLocations( | 88 ShellIntegrationLinux::GetExistingShortcutLocations( |
| 89 &env, kProfilePath, kExtensionId); | 89 &env, kProfilePath, kExtensionId); |
| 90 EXPECT_FALSE(result.on_desktop); | 90 EXPECT_FALSE(result.on_desktop); |
| 91 EXPECT_FALSE(result.in_applications_menu); | 91 EXPECT_FALSE(result.in_applications_menu); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 EXPECT_FALSE(result.hidden); | 185 EXPECT_FALSE(result.hidden); |
| 186 } | 186 } |
| 187 } | 187 } |
| 188 | 188 |
| 189 TEST(ShellIntegrationTest, GetExistingShortcutContents) { | 189 TEST(ShellIntegrationTest, GetExistingShortcutContents) { |
| 190 const char kTemplateFilename[] = "shortcut-test.desktop"; | 190 const char kTemplateFilename[] = "shortcut-test.desktop"; |
| 191 base::FilePath kTemplateFilepath(kTemplateFilename); | 191 base::FilePath kTemplateFilepath(kTemplateFilename); |
| 192 const char kTestData1[] = "a magical testing string"; | 192 const char kTestData1[] = "a magical testing string"; |
| 193 const char kTestData2[] = "a different testing string"; | 193 const char kTestData2[] = "a different testing string"; |
| 194 | 194 |
| 195 MessageLoop message_loop; | 195 base::MessageLoop message_loop; |
| 196 content::TestBrowserThread file_thread(BrowserThread::FILE, &message_loop); | 196 content::TestBrowserThread file_thread(BrowserThread::FILE, &message_loop); |
| 197 | 197 |
| 198 // Test that it searches $XDG_DATA_HOME/applications. | 198 // Test that it searches $XDG_DATA_HOME/applications. |
| 199 { | 199 { |
| 200 base::ScopedTempDir temp_dir; | 200 base::ScopedTempDir temp_dir; |
| 201 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 201 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 202 | 202 |
| 203 MockEnvironment env; | 203 MockEnvironment env; |
| 204 env.Set("XDG_DATA_HOME", temp_dir.path().value()); | 204 env.Set("XDG_DATA_HOME", temp_dir.path().value()); |
| 205 // Create a file in a non-applications directory. This should be ignored. | 205 // Create a file in a non-applications directory. This should be ignored. |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 SCOPED_TRACE(i); | 504 SCOPED_TRACE(i); |
| 505 EXPECT_EQ( | 505 EXPECT_EQ( |
| 506 test_cases[i].expected_output, | 506 test_cases[i].expected_output, |
| 507 ShellIntegrationLinux::GetDirectoryFileContents( | 507 ShellIntegrationLinux::GetDirectoryFileContents( |
| 508 ASCIIToUTF16(test_cases[i].title), | 508 ASCIIToUTF16(test_cases[i].title), |
| 509 test_cases[i].icon_name)); | 509 test_cases[i].icon_name)); |
| 510 } | 510 } |
| 511 } | 511 } |
| 512 | 512 |
| 513 #endif | 513 #endif |
| OLD | NEW |