| Index: chrome/common/extensions/extension_unittest.cc
|
| ===================================================================
|
| --- chrome/common/extensions/extension_unittest.cc (revision 29288)
|
| +++ chrome/common/extensions/extension_unittest.cc (working copy)
|
| @@ -231,6 +231,12 @@
|
| input_value->Set(keys::kBrowserAction, action);
|
| EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
|
| EXPECT_STREQ(error.c_str(), errors::kOneUISurfaceOnly);
|
| +
|
| + // Test invalid options page url.
|
| + input_value.reset(static_cast<DictionaryValue*>(valid_value->DeepCopy()));
|
| + input_value->Set(keys::kOptionsPage, Value::CreateNullValue());
|
| + EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
|
| + EXPECT_TRUE(MatchPattern(error, errors::kInvalidOptionsPage));
|
| }
|
|
|
| TEST(ExtensionTest, InitFromValueValid) {
|
| @@ -254,6 +260,13 @@
|
| EXPECT_EQ("my extension", extension.name());
|
| EXPECT_EQ(extension.id(), extension.url().host());
|
| EXPECT_EQ(path.value(), extension.path().value());
|
| +
|
| + // Test with an options page.
|
| + input_value.SetString(keys::kOptionsPage, "options.html");
|
| + EXPECT_TRUE(extension.InitFromValue(input_value, false, &error));
|
| + EXPECT_EQ("", error);
|
| + EXPECT_EQ("chrome-extension", extension.options_url().scheme());
|
| + EXPECT_EQ("/options.html", extension.options_url().path());
|
| }
|
|
|
| TEST(ExtensionTest, GetResourceURLAndPath) {
|
|
|