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

Unified Diff: third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp

Issue 2516383002: Embedding-CSP: Refactoring directive strings into enum (Closed)
Patch Set: syncing Created 4 years, 1 month 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
Index: third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp
diff --git a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp
index b254f6f8bcd065522f161accce155a72182e4b6b..3d49d2e6f7f59a13ed5a4a28f0ba69bf7161ae59 100644
--- a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp
+++ b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp
@@ -911,4 +911,54 @@ TEST_F(ContentSecurityPolicyTest, ShouldEnforceEmbeddersPolicy) {
}
}
+TEST_F(ContentSecurityPolicyTest, DirectiveType) {
+ struct TestCase {
+ ContentSecurityPolicy::DirectiveType type;
+ const String& name;
+ } cases[] = {
+ {ContentSecurityPolicy::DirectiveType::BaseURI, "base-uri"},
+ {ContentSecurityPolicy::DirectiveType::BlockAllMixedContent,
+ "block-all-mixed-content"},
+ {ContentSecurityPolicy::DirectiveType::ChildSrc, "child-src"},
+ {ContentSecurityPolicy::DirectiveType::ConnectSrc, "connect-src"},
+ {ContentSecurityPolicy::DirectiveType::DefaultSrc, "default-src"},
+ {ContentSecurityPolicy::DirectiveType::FrameAncestors, "frame-ancestors"},
+ {ContentSecurityPolicy::DirectiveType::FrameSrc, "frame-src"},
+ {ContentSecurityPolicy::DirectiveType::FontSrc, "font-src"},
+ {ContentSecurityPolicy::DirectiveType::FormAction, "form-action"},
+ {ContentSecurityPolicy::DirectiveType::ImgSrc, "img-src"},
+ {ContentSecurityPolicy::DirectiveType::ManifestSrc, "manifest-src"},
+ {ContentSecurityPolicy::DirectiveType::MediaSrc, "media-src"},
+ {ContentSecurityPolicy::DirectiveType::ObjectSrc, "object-src"},
+ {ContentSecurityPolicy::DirectiveType::PluginTypes, "plugin-types"},
+ {ContentSecurityPolicy::DirectiveType::ReportURI, "report-uri"},
+ {ContentSecurityPolicy::DirectiveType::RequireSRIFor, "require-sri-for"},
+ {ContentSecurityPolicy::DirectiveType::Sandbox, "sandbox"},
+ {ContentSecurityPolicy::DirectiveType::ScriptSrc, "script-src"},
+ {ContentSecurityPolicy::DirectiveType::StyleSrc, "style-src"},
+ {ContentSecurityPolicy::DirectiveType::TreatAsPublicAddress,
+ "treat-as-public-address"},
+ {ContentSecurityPolicy::DirectiveType::UpgradeInsecureRequests,
+ "upgrade-insecure-requests"},
+ {ContentSecurityPolicy::DirectiveType::WorkerSrc, "worker-src"},
+ };
+
+ EXPECT_EQ(ContentSecurityPolicy::DirectiveType::Undefined,
+ ContentSecurityPolicy::getDirectiveType("random"));
+ ASSERT_DEATH(ContentSecurityPolicy::getDirectiveName(
+ ContentSecurityPolicy::DirectiveType::Undefined),
+ "Check failed");
+
+ for (const auto& test : cases) {
+ const String& nameFromType =
+ ContentSecurityPolicy::getDirectiveName(test.type);
+ ContentSecurityPolicy::DirectiveType typeFromName =
+ ContentSecurityPolicy::getDirectiveType(test.name);
+ EXPECT_EQ(nameFromType, test.name);
+ EXPECT_EQ(typeFromName, test.type);
+ EXPECT_EQ(test.type, ContentSecurityPolicy::getDirectiveType(nameFromType));
+ EXPECT_EQ(test.name, ContentSecurityPolicy::getDirectiveName(typeFromName));
+ }
+}
+
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698