Home | History | Annotate | Download | only in developer_private
      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:
     15   virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
     16     ExtensionApiTest::SetUpCommandLine(command_line);
     17     command_line->AppendSwitch(switches::kAppsDevtool);
     18   }
     19 
     20   virtual void LoadExtensions() {
     21     base::FilePath base_dir = test_data_dir_.AppendASCII("developer");
     22     LoadNamedExtension(base_dir, "hosted_app");
     23   }
     24 
     25  protected:
     26   void LoadNamedExtension(const base::FilePath& path,
     27                           const std::string& name) {
     28     const Extension* extension = LoadExtension(path.AppendASCII(name));
     29     ASSERT_TRUE(extension);
     30     extension_name_to_ids_[name] = extension->id();
     31   }
     32 
     33   void InstallNamedExtension(const base::FilePath& path,
     34                              const std::string& name,
     35                              Manifest::Location install_source) {
     36     const Extension* extension = InstallExtension(path.AppendASCII(name), 1,
     37                                                   install_source);
     38     ASSERT_TRUE(extension);
     39     extension_name_to_ids_[name] = extension->id();
     40   }
     41 
     42   std::map<std::string, std::string> extension_name_to_ids_;
     43 };
     44 
     45 IN_PROC_BROWSER_TEST_F(DeveloperPrivateApiTest, Basics) {
     46   LoadExtensions();
     47 
     48   base::FilePath basedir = test_data_dir_.AppendASCII("developer");
     49   InstallNamedExtension(basedir, "packaged_app", Manifest::INTERNAL);
     50 
     51   InstallNamedExtension(basedir, "simple_extension", Manifest::INTERNAL);
     52 
     53   ASSERT_TRUE(RunExtensionSubtest(
     54       "developer/test", "basics.html", kFlagLoadAsComponent));
     55 }
     56