Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Unified Diff: chrome/browser/extensions/extension_web_ui_unittest.cc

Issue 1635663002: [Extensions] Fix override urls' visible urls (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_web_ui.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_web_ui_unittest.cc
diff --git a/chrome/browser/extensions/extension_web_ui_unittest.cc b/chrome/browser/extensions/extension_web_ui_unittest.cc
index b68d613678718a1657349593e596b6abe427d341..12cb23a2d2d9caa0795374c18b8763ca26ad01bf 100644
--- a/chrome/browser/extensions/extension_web_ui_unittest.cc
+++ b/chrome/browser/extensions/extension_web_ui_unittest.cc
@@ -71,12 +71,13 @@ class ExtensionWebUITest : public testing::Test {
// Test that component extension url overrides have lower priority than
// non-component extension url overrides.
TEST_F(ExtensionWebUITest, ExtensionURLOverride) {
+ const char kOverrideResource[] = "1.html";
// Register a non-component extension.
DictionaryBuilder manifest;
manifest.Set(manifest_keys::kName, "ext1")
.Set(manifest_keys::kVersion, "0.1")
.Set(std::string(manifest_keys::kChromeURLOverrides),
- std::move(DictionaryBuilder().Set("bookmarks", "1.html")));
+ std::move(DictionaryBuilder().Set("bookmarks", kOverrideResource)));
scoped_refptr<Extension> ext_unpacked(
ExtensionBuilder()
.SetManifest(std::move(manifest))
@@ -85,18 +86,33 @@ TEST_F(ExtensionWebUITest, ExtensionURLOverride) {
.Build());
extension_service_->AddExtension(ext_unpacked.get());
- GURL expected_unpacked_override_url(std::string(ext_unpacked->url().spec()) +
- "1.html");
- GURL url("chrome://bookmarks");
- EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverride(&url, profile_.get()));
- EXPECT_EQ(url, expected_unpacked_override_url);
+ const GURL kExpectedUnpackedOverrideUrl =
+ ext_unpacked->GetResourceURL(kOverrideResource);
+ const GURL kBookmarksUrl("chrome://bookmarks");
+ GURL changed_url = kBookmarksUrl;
+ EXPECT_TRUE(
+ ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get()));
+ EXPECT_EQ(kExpectedUnpackedOverrideUrl, changed_url);
+ EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&changed_url,
+ profile_.get()));
+ EXPECT_EQ(kBookmarksUrl, changed_url);
+
+ GURL url_plus_fragment = kBookmarksUrl.Resolve("#1");
+ EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverride(&url_plus_fragment,
+ profile_.get()));
+ EXPECT_EQ(kExpectedUnpackedOverrideUrl.Resolve("#1"),
+ url_plus_fragment);
+ EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&url_plus_fragment,
+ profile_.get()));
+ EXPECT_EQ(kBookmarksUrl.Resolve("#1"), url_plus_fragment);
// Register a component extension
+ const char kOverrideResource2[] = "2.html";
DictionaryBuilder manifest2;
manifest2.Set(manifest_keys::kName, "ext2")
.Set(manifest_keys::kVersion, "0.1")
.Set(std::string(manifest_keys::kChromeURLOverrides),
- std::move(DictionaryBuilder().Set("bookmarks", "2.html")));
+ std::move(DictionaryBuilder().Set("bookmarks", kOverrideResource2)));
scoped_refptr<Extension> ext_component(
ExtensionBuilder()
.SetManifest(std::move(manifest2))
@@ -107,27 +123,39 @@ TEST_F(ExtensionWebUITest, ExtensionURLOverride) {
// Despite being registered more recently, the component extension should
// not take precedence over the non-component extension.
- url = GURL("chrome://bookmarks");
- EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverride(&url, profile_.get()));
- EXPECT_EQ(url, expected_unpacked_override_url);
+ changed_url = kBookmarksUrl;
+ EXPECT_TRUE(
+ ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get()));
+ EXPECT_EQ(kExpectedUnpackedOverrideUrl, changed_url);
+ EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&changed_url,
+ profile_.get()));
+ EXPECT_EQ(kBookmarksUrl, changed_url);
- GURL expected_component_override_url(
- std::string(ext_component->url().spec()) + "2.html");
+ GURL kExpectedComponentOverrideUrl =
+ ext_component->GetResourceURL(kOverrideResource2);
// Unregister non-component extension. Only component extension remaining.
ExtensionWebUI::UnregisterChromeURLOverrides(
profile_.get(), URLOverrides::GetChromeURLOverrides(ext_unpacked.get()));
- url = GURL("chrome://bookmarks");
- EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverride(&url, profile_.get()));
- EXPECT_EQ(url, expected_component_override_url);
+ changed_url = kBookmarksUrl;
+ EXPECT_TRUE(
+ ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get()));
+ EXPECT_EQ(kExpectedComponentOverrideUrl, changed_url);
+ EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&changed_url,
+ profile_.get()));
+ EXPECT_EQ(kBookmarksUrl, changed_url);
// This time the non-component extension was registered more recently and
// should still take precedence.
ExtensionWebUI::RegisterOrActivateChromeURLOverrides(
profile_.get(), URLOverrides::GetChromeURLOverrides(ext_unpacked.get()));
- url = GURL("chrome://bookmarks");
- EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverride(&url, profile_.get()));
- EXPECT_EQ(url, expected_unpacked_override_url);
+ changed_url = kBookmarksUrl;
+ EXPECT_TRUE(
+ ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get()));
+ EXPECT_EQ(kExpectedUnpackedOverrideUrl, changed_url);
+ EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&changed_url,
+ profile_.get()));
+ EXPECT_EQ(kBookmarksUrl, changed_url);
}
} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/extension_web_ui.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698