Index: third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/sanity-checker.js |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/sanity-checker.js b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/sanity-checker.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e0714885ffcc9d13bf2acb8e60634a2dd62170dc |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/sanity-checker.js |
@@ -0,0 +1,52 @@ |
+// The SanityChecker is used in debug mode to identify problems with the |
+// structure of the testsuite. In release mode it is mocked out to do nothing. |
+ |
+function SanityChecker() {} |
+ |
+SanityChecker.prototype.checkScenario = function(scenario) { |
+ // Check if scenario is valid. |
+ // TODO(kristijanburnik): Move to a sanity-checks.js for debug mode only. |
+ test(function() { |
+ |
+ // We extend the exsiting test_expansion_schema not to kill performance by |
+ // copying. |
+ var expectedFields = SPEC_JSON["test_expansion_schema"]; |
+ expectedFields["referrer_policy"] = SPEC_JSON["referrer_policy_schema"]; |
+ |
+ assert_own_property(scenario, "subresource_path", |
+ "Scenario has the path to the subresource."); |
+ |
+ for (var field in expectedFields) { |
+ assert_own_property(scenario, field, |
+ "The scenario contains field " + field) |
+ assert_in_array(scenario[field], expectedFields[field], |
+ "Scenario's " + field + " is one of: " + |
+ expectedFields[field].join(", ")) + "." |
+ } |
+ |
+ // Check if the protocol is matched. |
+ assert_equals(scenario["source_protocol"] + ":", location.protocol, |
+ "Protocol of the test page should match the scenario.") |
+ |
+ }, "[ReferrerPolicyTestCase] The test scenario is valid."); |
+} |
+ |
+SanityChecker.prototype.checkSubresourceResult = function(test, |
+ scenario, |
+ subresourceUrl, |
+ result) { |
+ test.step(function() { |
+ assert_equals(Object.keys(result).length, 3); |
+ assert_own_property(result, "location"); |
+ assert_own_property(result, "referrer"); |
+ assert_own_property(result, "headers"); |
+ |
+ // Skip location check for scripts. |
+ if (scenario.subresource == "script-tag") |
+ return; |
+ |
+ // Sanity check: location of sub-resource matches reported location. |
+ assert_equals(result.location, subresourceUrl, |
+ "Subresource reported location."); |
+ }, "Running a valid test scenario."); |
+}; |