summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/extension_manifests_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/extensions/extension_manifests_unittest.cc')
-rw-r--r--chrome/common/extensions/extension_manifests_unittest.cc36
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);