blob: ac64c6ad0a0a5d9899f8965416234649eaec187f [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <map>
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/common/chrome_switches.h"
using extensions::Extension;
using extensions::Manifest;
class DeveloperPrivateApiTest : public ExtensionApiTest {
public:
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
ExtensionApiTest::SetUpCommandLine(command_line);
command_line->AppendSwitch(switches::kAppsDevtool);
}
virtual void LoadExtensions() {
base::FilePath base_dir = test_data_dir_.AppendASCII("developer");
LoadNamedExtension(base_dir, "hosted_app");
}
protected:
void LoadNamedExtension(const base::FilePath& path,
const std::string& name) {
const Extension* extension = LoadExtension(path.AppendASCII(name));
ASSERT_TRUE(extension);
extension_name_to_ids_[name] = extension->id();
}
void InstallNamedExtension(const base::FilePath& path,
const std::string& name,
Manifest::Location install_source) {
const Extension* extension = InstallExtension(path.AppendASCII(name), 1,
install_source);
ASSERT_TRUE(extension);
extension_name_to_ids_[name] = extension->id();
}
std::map<std::string, std::string> extension_name_to_ids_;
};
IN_PROC_BROWSER_TEST_F(DeveloperPrivateApiTest, Basics) {
LoadExtensions();
base::FilePath basedir = test_data_dir_.AppendASCII("developer");
InstallNamedExtension(basedir, "packaged_app", Manifest::INTERNAL);
InstallNamedExtension(basedir, "simple_extension", Manifest::INTERNAL);
ASSERT_TRUE(RunExtensionSubtest(
"developer/test", "basics.html", kFlagLoadAsComponent));
}