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

Side by Side Diff: chrome/browser/extensions/component_loader_unittest.cc

Issue 687803004: [Hotword] Implement audio history pref accessing and setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixing memory leak with scoped ptrs Created 6 years, 1 month 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
« no previous file with comments | « no previous file | chrome/browser/history/DEPS » ('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) 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/extensions/component_loader.h" 5 #include "chrome/browser/extensions/component_loader.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h"
9 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
10 #include "base/path_service.h" 11 #include "base/path_service.h"
11 #include "base/prefs/pref_registry_simple.h" 12 #include "base/prefs/pref_registry_simple.h"
12 #include "chrome/browser/extensions/test_extension_service.h" 13 #include "chrome/browser/extensions/test_extension_service.h"
13 #include "chrome/common/chrome_paths.h" 14 #include "chrome/common/chrome_paths.h"
15 #include "chrome/common/chrome_switches.h"
14 #include "chrome/common/pref_names.h" 16 #include "chrome/common/pref_names.h"
15 #include "chrome/test/base/testing_pref_service_syncable.h" 17 #include "chrome/test/base/testing_pref_service_syncable.h"
16 #include "chrome/test/base/testing_profile.h" 18 #include "chrome/test/base/testing_profile.h"
17 #include "components/pref_registry/pref_registry_syncable.h" 19 #include "components/pref_registry/pref_registry_syncable.h"
18 #include "content/public/test/test_browser_thread_bundle.h" 20 #include "content/public/test/test_browser_thread_bundle.h"
19 #include "extensions/common/constants.h" 21 #include "extensions/common/constants.h"
20 #include "extensions/common/extension.h" 22 #include "extensions/common/extension.h"
21 #include "extensions/common/extension_set.h" 23 #include "extensions/common/extension_set.h"
22 #include "extensions/common/manifest_handlers/background_info.h" 24 #include "extensions/common/manifest_handlers/background_info.h"
23 #include "testing/gtest/include/gtest/gtest.h" 25 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 EXPECT_EQ(1u, extension_service_.extensions()->size()); 215 EXPECT_EQ(1u, extension_service_.extensions()->size());
214 component_loader_.Remove(extension_path_); 216 component_loader_.Remove(extension_path_);
215 EXPECT_EQ(0u, extension_service_.extensions()->size()); 217 EXPECT_EQ(0u, extension_service_.extensions()->size());
216 218
217 // And after calling LoadAll(), it shouldn't get loaded. 219 // And after calling LoadAll(), it shouldn't get loaded.
218 component_loader_.LoadAll(); 220 component_loader_.LoadAll();
219 EXPECT_EQ(0u, extension_service_.extensions()->size()); 221 EXPECT_EQ(0u, extension_service_.extensions()->size());
220 } 222 }
221 223
222 TEST_F(ComponentLoaderTest, LoadAll) { 224 TEST_F(ComponentLoaderTest, LoadAll) {
225 // This loads the hotword component extension which has a dependency on sync.
226 // However, this doesn't work with unittests so disable sync.
227 base::CommandLine::ForCurrentProcess()->AppendSwitch(switches::kDisableSync);
228
223 extension_service_.set_ready(false); 229 extension_service_.set_ready(false);
224 230
225 // No extensions should be loaded if none were added. 231 // No extensions should be loaded if none were added.
226 component_loader_.LoadAll(); 232 component_loader_.LoadAll();
227 EXPECT_EQ(0u, extension_service_.extensions()->size()); 233 EXPECT_EQ(0u, extension_service_.extensions()->size());
228 234
229 // Use LoadAll() to load the default extensions. 235 // Use LoadAll() to load the default extensions.
230 component_loader_.AddDefaultComponentExtensions(false); 236 component_loader_.AddDefaultComponentExtensions(false);
231 component_loader_.LoadAll(); 237 component_loader_.LoadAll();
232 unsigned int default_count = extension_service_.extensions()->size(); 238 unsigned int default_count = extension_service_.extensions()->size();
233 239
234 // Clear the list of loaded extensions, and reload with one more. 240 // Clear the list of loaded extensions, and reload with one more.
235 extension_service_.clear_extensions(); 241 extension_service_.clear_extensions();
236 component_loader_.Add(manifest_contents_, extension_path_); 242 component_loader_.Add(manifest_contents_, extension_path_);
237 component_loader_.LoadAll(); 243 component_loader_.LoadAll();
238 244
239 EXPECT_EQ(default_count + 1, extension_service_.extensions()->size()); 245 EXPECT_EQ(default_count + 1, extension_service_.extensions()->size());
240 } 246 }
241 247
242 TEST_F(ComponentLoaderTest, AddOrReplace) { 248 TEST_F(ComponentLoaderTest, AddOrReplace) {
249 // This loads the hotword component extension which has a dependency on sync.
250 // However, this doesn't work with unittests so disable sync.
251 base::CommandLine::ForCurrentProcess()->AppendSwitch(switches::kDisableSync);
252
243 EXPECT_EQ(0u, component_loader_.registered_extensions_count()); 253 EXPECT_EQ(0u, component_loader_.registered_extensions_count());
244 component_loader_.AddDefaultComponentExtensions(false); 254 component_loader_.AddDefaultComponentExtensions(false);
245 size_t const default_count = component_loader_.registered_extensions_count(); 255 size_t const default_count = component_loader_.registered_extensions_count();
246 base::FilePath known_extension = GetBasePath() 256 base::FilePath known_extension = GetBasePath()
247 .AppendASCII("override_component_extension"); 257 .AppendASCII("override_component_extension");
248 base::FilePath unknow_extension = extension_path_; 258 base::FilePath unknow_extension = extension_path_;
249 base::FilePath invalid_extension = GetBasePath().AppendASCII("bad"); 259 base::FilePath invalid_extension = GetBasePath().AppendASCII("bad");
250 260
251 // Replace a default component extension. 261 // Replace a default component extension.
252 component_loader_.AddOrReplace(known_extension); 262 component_loader_.AddOrReplace(known_extension);
(...skipping 15 matching lines...) Expand all
268 component_loader_.AddOrReplace(known_extension); 278 component_loader_.AddOrReplace(known_extension);
269 EXPECT_EQ(default_count + 1, extension_service_.extensions()->size()); 279 EXPECT_EQ(default_count + 1, extension_service_.extensions()->size());
270 EXPECT_EQ(1u, extension_service_.unloaded_count()); 280 EXPECT_EQ(1u, extension_service_.unloaded_count());
271 281
272 // Add an invalid component extension. 282 // Add an invalid component extension.
273 std::string extension_id = component_loader_.AddOrReplace(invalid_extension); 283 std::string extension_id = component_loader_.AddOrReplace(invalid_extension);
274 EXPECT_TRUE(extension_id.empty()); 284 EXPECT_TRUE(extension_id.empty());
275 } 285 }
276 286
277 } // namespace extensions 287 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/history/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698