Skip to content

Commit

Permalink
Remove required attributes from SecurityPolicyViolationEventInit
Browse files Browse the repository at this point in the history
The dictionary SecurityPolicyViolationEventInit is optional in the constructor of SecurityPolicyViolationEvent. This CL removes the required attributes from the properties of this dictionary and adds default values.

The change in the spec: w3c/webappsec-csp#645

Bug: 325291983
Change-Id: I61e5527e7e8ccc2cd35e5022397ff42bf83ccd9e
  • Loading branch information
Saeid Eid authored and chromium-wpt-export-bot committed Feb 21, 2024
1 parent 88b9d60 commit 6f42b8b
Showing 1 changed file with 103 additions and 110 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,118 +25,111 @@
}), undefined);
}, "SecurityPolicyViolationEvent constructor works with an init dict");

// missing required members
// missing optional members
test(function() {
assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
// documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
})});
}, "SecurityPolicyViolationEvent constructor requires documentURI");
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
// documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}).documentURI, "");
}, "SecurityPolicyViolationEvent constructor does not require documentURI");

test(function() {
assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
// violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
})});
}, "SecurityPolicyViolationEvent constructor requires violatedDirective");
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
// violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}).violatedDirective, "");
}, "SecurityPolicyViolationEvent constructor does not require violatedDirective");

test(function() {
assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
// effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
})});
}, "SecurityPolicyViolationEvent constructor requires effectiveDirective");
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
// effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}).effectiveDirective, "");
}, "SecurityPolicyViolationEvent constructor does not require effectiveDirective");

test(function() {
assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
// originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
})});
}, "SecurityPolicyViolationEvent constructor requires originalPolicy");
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
// originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}).originalPolicy, "");
}, "SecurityPolicyViolationEvent constructor does not require originalPolicy");

test(function() {
assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
// disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
})});
}, "SecurityPolicyViolationEvent constructor requires disposition");
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
// disposition: "enforce",
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}).disposition, "enforce");
}, "SecurityPolicyViolationEvent constructor does not require disposition");

test(function() {
assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
// statusCode: 200,
lineNumber: 1,
columnNumber: 1,
})});
}, "SecurityPolicyViolationEvent constructor requires statusCode");
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
violatedDirective: "default-src",
effectiveDirective: "default-src",
originalPolicy: "default-src 'none'",
sourceFile: "example.js",
sample: "<script>alert('1');</scr" + "ipt>",
disposition: "enforce",
// statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}).statusCode, 0);
}, "SecurityPolicyViolationEvent constructor does not require statusCode");

// missing optional members
test(function() {
assert_not_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
// referrer: "http://example.com",
blockedURI: "http://example.com",
Expand All @@ -149,11 +142,11 @@
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}), undefined);
}).referrer, "");
}, "SecurityPolicyViolationEvent constructor does not require referrer");

test(function() {
assert_not_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
// blockedURI: "http://example.com",
Expand All @@ -166,11 +159,11 @@
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}), undefined);
}).blockedURI, "");
}, "SecurityPolicyViolationEvent constructor does not require blockedURI");

test(function() {
assert_not_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
Expand All @@ -183,11 +176,11 @@
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}), undefined);
}).sourceFile, "");
}, "SecurityPolicyViolationEvent constructor does not require sourceFile");

test(function() {
assert_not_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
Expand All @@ -200,11 +193,11 @@
statusCode: 200,
lineNumber: 1,
columnNumber: 1,
}), undefined);
}).sample, "");
}, "SecurityPolicyViolationEvent constructor does not require sample");

test(function() {
assert_not_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
Expand All @@ -217,11 +210,11 @@
statusCode: 200,
// lineNumber: 1,
columnNumber: 1,
}), undefined);
}).lineNumber, 0);
}, "SecurityPolicyViolationEvent constructor does not require lineNumber");

test(function() {
assert_not_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
blockedURI: "http://example.com",
Expand All @@ -234,6 +227,6 @@
statusCode: 200,
lineNumber: 1,
// columnNumber: 1,
}), undefined);
}).columnNumber, 0);
}, "SecurityPolicyViolationEvent constructor does not require columnNumber");
</script>

0 comments on commit 6f42b8b

Please sign in to comment.