diff options
Diffstat (limited to 'chrome/common/extensions/extension_manifests_unittest.cc')
-rw-r--r-- | chrome/common/extensions/extension_manifests_unittest.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/chrome/common/extensions/extension_manifests_unittest.cc b/chrome/common/extensions/extension_manifests_unittest.cc index f7c8f27..a6bc71f 100644 --- a/chrome/common/extensions/extension_manifests_unittest.cc +++ b/chrome/common/extensions/extension_manifests_unittest.cc @@ -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,40 @@ TEST_F(ExtensionManifestTest, DevToolsExtensions) { *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_page_empty.json", + errors::kInvalidSidebarDefaultPage); + LoadAndExpectError("sidebar_page_invalid_type.json", + errors::kInvalidSidebarDefaultPage); + LoadAndExpectError("sidebar_title_invalid_type.json", + errors::kInvalidSidebarDefaultTitle); + + 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_page().spec()); + + *CommandLine::ForCurrentProcess() = old_command_line; +} + TEST_F(ExtensionManifestTest, DisallowHybridApps) { LoadAndExpectError("disallow_hybrid_1.json", errors::kHostedAppsCannotIncludeExtensionFeatures); |