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