| Index: chrome/common/extensions/extension_manifests_unittest.cc
|
| ===================================================================
|
| --- chrome/common/extensions/extension_manifests_unittest.cc (revision 71115)
|
| +++ chrome/common/extensions/extension_manifests_unittest.cc (working copy)
|
| @@ -8,11 +8,13 @@
|
| #include "base/path_service.h"
|
| #include "base/scoped_ptr.h"
|
| #include "base/string_util.h"
|
| +#include "base/utf_string_conversions.h"
|
| #include "chrome/common/chrome_paths.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/common/extensions/extension_error_utils.h"
|
| +#include "chrome/common/extensions/extension_sidebar_defaults.h"
|
| #include "chrome/common/json_value_serializer.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -271,6 +273,47 @@
|
| *CommandLine::ForCurrentProcess() = old_command_line;
|
| }
|
|
|
| +TEST_F(ExtensionManifestTest, Sidebar) {
|
| + LoadAndExpectError("sidebar.json",
|
| + errors::kExperimentalFlagRequired);
|
| +
|
| + CommandLine old_command_line = *CommandLine::ForCurrentProcess();
|
| + CommandLine::ForCurrentProcess()->AppendSwitch(
|
| + switches::kEnableExperimentalExtensionApis);
|
| +
|
| + LoadAndExpectError("sidebar_no_permissions.json",
|
| + errors::kSidebarExperimental);
|
| +
|
| + LoadAndExpectError("sidebar_icon_empty.json",
|
| + errors::kInvalidSidebarDefaultIconPath);
|
| + LoadAndExpectError("sidebar_icon_invalid_type.json",
|
| + errors::kInvalidSidebarDefaultIconPath);
|
| + LoadAndExpectError("sidebar_title_invalid_type.json",
|
| + errors::kInvalidSidebarDefaultTitle);
|
| + LoadAndExpectError("sidebar_url_invalid.json",
|
| + errors::kInvalidSidebarDefaultUrl);
|
| + LoadAndExpectError("sidebar_url_invalid_type.json",
|
| + errors::kInvalidSidebarDefaultUrl);
|
| + LoadAndExpectError("sidebar_url_no_permissions.json",
|
| + extension_manifest_errors::kCannotAccessPage);
|
| +
|
| + scoped_refptr<Extension> extension(LoadAndExpectSuccess("sidebar.json"));
|
| + ASSERT_TRUE(extension->sidebar_defaults() != NULL);
|
| + EXPECT_EQ(extension->sidebar_defaults()->default_title(),
|
| + ASCIIToUTF16("Default title"));
|
| + EXPECT_EQ(extension->sidebar_defaults()->default_icon_path(),
|
| + "icon.png");
|
| + EXPECT_EQ(extension->url().spec() + "sidebar.html",
|
| + extension->sidebar_defaults()->default_url().spec());
|
| +
|
| + scoped_refptr<Extension> extension_external_url(
|
| + LoadAndExpectSuccess("sidebar_external_url.json"));
|
| + EXPECT_EQ("http://sidebar.url/sidebar.html",
|
| + extension_external_url->sidebar_defaults()->default_url().spec());
|
| +
|
| + *CommandLine::ForCurrentProcess() = old_command_line;
|
| +}
|
| +
|
| TEST_F(ExtensionManifestTest, DisallowHybridApps) {
|
| LoadAndExpectError("disallow_hybrid_1.json",
|
| errors::kHostedAppsCannotIncludeExtensionFeatures);
|
|
|