• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include <map>
6 
7 #include "chrome/browser/extensions/extension_apitest.h"
8 #include "chrome/common/chrome_switches.h"
9 
10 using extensions::Extension;
11 using extensions::Manifest;
12 
13 class DeveloperPrivateApiTest : public ExtensionApiTest {
14  public:
LoadExtensions()15   virtual void LoadExtensions() {
16     base::FilePath base_dir = test_data_dir_.AppendASCII("developer");
17     LoadNamedExtension(base_dir, "hosted_app");
18   }
19 
20  protected:
LoadNamedExtension(const base::FilePath & path,const std::string & name)21   void LoadNamedExtension(const base::FilePath& path,
22                           const std::string& name) {
23     const Extension* extension = LoadExtension(path.AppendASCII(name));
24     ASSERT_TRUE(extension);
25     extension_name_to_ids_[name] = extension->id();
26   }
27 
InstallNamedExtension(const base::FilePath & path,const std::string & name,Manifest::Location install_source)28   void InstallNamedExtension(const base::FilePath& path,
29                              const std::string& name,
30                              Manifest::Location install_source) {
31     const Extension* extension = InstallExtension(path.AppendASCII(name), 1,
32                                                   install_source);
33     ASSERT_TRUE(extension);
34     extension_name_to_ids_[name] = extension->id();
35   }
36 
37   std::map<std::string, std::string> extension_name_to_ids_;
38 };
39 
IN_PROC_BROWSER_TEST_F(DeveloperPrivateApiTest,Basics)40 IN_PROC_BROWSER_TEST_F(DeveloperPrivateApiTest, Basics) {
41   LoadExtensions();
42 
43   base::FilePath basedir = test_data_dir_.AppendASCII("developer");
44   InstallNamedExtension(basedir, "packaged_app", Manifest::INTERNAL);
45 
46   InstallNamedExtension(basedir, "simple_extension", Manifest::INTERNAL);
47 
48   ASSERT_TRUE(RunPlatformAppTestWithFlags(
49       "developer/test", kFlagLoadAsComponent));
50 }
51