Commit 9ce071e2 authored by Solomon Kinard's avatar Solomon Kinard Committed by Chromium LUCI CQ

[Extensions][web_accessible_resources] Add wildcard test for clarity.

This should make it easier to for casual readers to see which wildcards
are allowed. Reference:
https://developer.chrome.com/docs/extensions/mv2/match_patterns/

Bug: 1133624
Change-Id: Ifd5b26e7b052f07c62dc0846cff4dfe922d52134
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2613512
Commit-Queue: Solomon Kinard <solomonkinard@chromium.org>
Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#843313}
parent 657104c8
...@@ -225,7 +225,8 @@ TEST_F(WebAccessibleResourcesManifestTest, WebAccessibleResourcesV3Invalid) { ...@@ -225,7 +225,8 @@ TEST_F(WebAccessibleResourcesManifestTest, WebAccessibleResourcesV3Invalid) {
// Succeed if site requesting resource exists in matches. // Succeed if site requesting resource exists in matches.
TEST_F(WebAccessibleResourcesManifestTest, TEST_F(WebAccessibleResourcesManifestTest,
WebAccessibleResourcesOriginRequestingResourceExistsInMatches) { WebAccessibleResourcesOriginRequestingResourceExistsInMatches) {
scoped_refptr<Extension> extension(LoadAndExpectSuccess(GetManifestData(R"([ scoped_refptr<Extension> extension(LoadAndExpectSuccess(GetManifestData(
R"([
{ {
"resources": ["test"], "resources": ["test"],
"matches": ["https://allowed.example/*"] "matches": ["https://allowed.example/*"]
...@@ -301,3 +302,36 @@ TEST_F(WebAccessibleResourcesManifestTest, ...@@ -301,3 +302,36 @@ TEST_F(WebAccessibleResourcesManifestTest,
EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible(
extension1.get(), "test", initiator_origin)); extension1.get(), "test", initiator_origin));
} }
// Tests wildcards
TEST_F(WebAccessibleResourcesManifestTest, WebAccessibleResourcesWildcard) {
struct {
const char* title;
const char* web_accessible_resources;
} test_cases[] = {
{"Succeed if text based wildcard is used.",
R"([
{
"resources": ["test"],
"matches": ["<all_urls>"]
}
])"},
{"Succeed if asterisk based wildcard is used.",
R"([
{
"resources": ["test"],
"matches": ["*://*/*"]
}
])"},
};
for (const auto& test_case : test_cases) {
SCOPED_TRACE(base::StringPrintf("Error: '%s'", test_case.title));
scoped_refptr<Extension> extension(LoadAndExpectSuccess(
GetManifestData(test_case.web_accessible_resources)));
EXPECT_TRUE(
WebAccessibleResourcesInfo::HasWebAccessibleResources(extension.get()));
EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible(
extension.get(), "test",
url::Origin::Create(GURL("https://allowed.example"))));
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment