constructor-required-fields.html (9046B)
1 <!doctype html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script> 5 // basic tests. 6 test(function() { 7 assert_throws_js(TypeError, 8 function() { new SecurityPolicyViolationEvent(); }); 9 }, "SecurityPolicyViolationEvent constructor should throw with no parameters"); 10 11 test(function() { 12 assert_not_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 13 documentURI: "http://example.com", 14 referrer: "http://example.com", 15 blockedURI: "http://example.com", 16 violatedDirective: "default-src", 17 effectiveDirective: "default-src", 18 originalPolicy: "default-src 'none'", 19 sourceFile: "example.js", 20 sample: "<script>alert('1');</scr" + "ipt>", 21 disposition: "enforce", 22 statusCode: 200, 23 lineNumber: 1, 24 columnNumber: 1, 25 }), undefined); 26 }, "SecurityPolicyViolationEvent constructor works with an init dict"); 27 28 // missing optional members 29 test(function() { 30 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 31 // documentURI: "http://example.com", 32 referrer: "http://example.com", 33 blockedURI: "http://example.com", 34 violatedDirective: "default-src", 35 effectiveDirective: "default-src", 36 originalPolicy: "default-src 'none'", 37 sourceFile: "example.js", 38 sample: "<script>alert('1');</scr" + "ipt>", 39 disposition: "enforce", 40 statusCode: 200, 41 lineNumber: 1, 42 columnNumber: 1, 43 }).documentURI, ""); 44 }, "SecurityPolicyViolationEvent constructor does not require documentURI"); 45 46 test(function() { 47 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 48 documentURI: "http://example.com", 49 referrer: "http://example.com", 50 blockedURI: "http://example.com", 51 // violatedDirective: "default-src", 52 effectiveDirective: "default-src", 53 originalPolicy: "default-src 'none'", 54 sourceFile: "example.js", 55 sample: "<script>alert('1');</scr" + "ipt>", 56 disposition: "enforce", 57 statusCode: 200, 58 lineNumber: 1, 59 columnNumber: 1, 60 }).violatedDirective, ""); 61 }, "SecurityPolicyViolationEvent constructor does not require violatedDirective"); 62 63 test(function() { 64 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 65 documentURI: "http://example.com", 66 referrer: "http://example.com", 67 blockedURI: "http://example.com", 68 violatedDirective: "default-src", 69 // effectiveDirective: "default-src", 70 originalPolicy: "default-src 'none'", 71 sourceFile: "example.js", 72 sample: "<script>alert('1');</scr" + "ipt>", 73 disposition: "enforce", 74 statusCode: 200, 75 lineNumber: 1, 76 columnNumber: 1, 77 }).effectiveDirective, ""); 78 }, "SecurityPolicyViolationEvent constructor does not require effectiveDirective"); 79 80 test(function() { 81 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 82 documentURI: "http://example.com", 83 referrer: "http://example.com", 84 blockedURI: "http://example.com", 85 violatedDirective: "default-src", 86 effectiveDirective: "default-src", 87 // originalPolicy: "default-src 'none'", 88 sourceFile: "example.js", 89 sample: "<script>alert('1');</scr" + "ipt>", 90 disposition: "enforce", 91 statusCode: 200, 92 lineNumber: 1, 93 columnNumber: 1, 94 }).originalPolicy, ""); 95 }, "SecurityPolicyViolationEvent constructor does not require originalPolicy"); 96 97 test(function() { 98 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 99 documentURI: "http://example.com", 100 referrer: "http://example.com", 101 blockedURI: "http://example.com", 102 violatedDirective: "default-src", 103 effectiveDirective: "default-src", 104 originalPolicy: "default-src 'none'", 105 sourceFile: "example.js", 106 sample: "<script>alert('1');</scr" + "ipt>", 107 // disposition: "enforce", 108 statusCode: 200, 109 lineNumber: 1, 110 columnNumber: 1, 111 }).disposition, "enforce"); 112 }, "SecurityPolicyViolationEvent constructor does not require disposition"); 113 114 test(function() { 115 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 116 documentURI: "http://example.com", 117 referrer: "http://example.com", 118 blockedURI: "http://example.com", 119 violatedDirective: "default-src", 120 effectiveDirective: "default-src", 121 originalPolicy: "default-src 'none'", 122 sourceFile: "example.js", 123 sample: "<script>alert('1');</scr" + "ipt>", 124 disposition: "enforce", 125 // statusCode: 200, 126 lineNumber: 1, 127 columnNumber: 1, 128 }).statusCode, 0); 129 }, "SecurityPolicyViolationEvent constructor does not require statusCode"); 130 131 test(function() { 132 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 133 documentURI: "http://example.com", 134 // referrer: "http://example.com", 135 blockedURI: "http://example.com", 136 violatedDirective: "default-src", 137 effectiveDirective: "default-src", 138 originalPolicy: "default-src 'none'", 139 sourceFile: "example.js", 140 sample: "<script>alert('1');</scr" + "ipt>", 141 disposition: "enforce", 142 statusCode: 200, 143 lineNumber: 1, 144 columnNumber: 1, 145 }).referrer, ""); 146 }, "SecurityPolicyViolationEvent constructor does not require referrer"); 147 148 test(function() { 149 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 150 documentURI: "http://example.com", 151 referrer: "http://example.com", 152 // blockedURI: "http://example.com", 153 violatedDirective: "default-src", 154 effectiveDirective: "default-src", 155 originalPolicy: "default-src 'none'", 156 sourceFile: "example.js", 157 sample: "<script>alert('1');</scr" + "ipt>", 158 disposition: "enforce", 159 statusCode: 200, 160 lineNumber: 1, 161 columnNumber: 1, 162 }).blockedURI, ""); 163 }, "SecurityPolicyViolationEvent constructor does not require blockedURI"); 164 165 test(function() { 166 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 167 documentURI: "http://example.com", 168 referrer: "http://example.com", 169 blockedURI: "http://example.com", 170 violatedDirective: "default-src", 171 effectiveDirective: "default-src", 172 originalPolicy: "default-src 'none'", 173 // sourceFile: "example.js", 174 sample: "<script>alert('1');</scr" + "ipt>", 175 disposition: "enforce", 176 statusCode: 200, 177 lineNumber: 1, 178 columnNumber: 1, 179 }).sourceFile, ""); 180 }, "SecurityPolicyViolationEvent constructor does not require sourceFile"); 181 182 test(function() { 183 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 184 documentURI: "http://example.com", 185 referrer: "http://example.com", 186 blockedURI: "http://example.com", 187 violatedDirective: "default-src", 188 effectiveDirective: "default-src", 189 originalPolicy: "default-src 'none'", 190 sourceFile: "example.js", 191 // sample: "<script>alert('1');</scr" + "ipt>", 192 disposition: "enforce", 193 statusCode: 200, 194 lineNumber: 1, 195 columnNumber: 1, 196 }).sample, ""); 197 }, "SecurityPolicyViolationEvent constructor does not require sample"); 198 199 test(function() { 200 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 201 documentURI: "http://example.com", 202 referrer: "http://example.com", 203 blockedURI: "http://example.com", 204 violatedDirective: "default-src", 205 effectiveDirective: "default-src", 206 originalPolicy: "default-src 'none'", 207 sourceFile: "example.js", 208 sample: "<script>alert('1');</scr" + "ipt>", 209 disposition: "enforce", 210 statusCode: 200, 211 // lineNumber: 1, 212 columnNumber: 1, 213 }).lineNumber, 0); 214 }, "SecurityPolicyViolationEvent constructor does not require lineNumber"); 215 216 test(function() { 217 assert_equals(new SecurityPolicyViolationEvent("securitypolicyviolation", { 218 documentURI: "http://example.com", 219 referrer: "http://example.com", 220 blockedURI: "http://example.com", 221 violatedDirective: "default-src", 222 effectiveDirective: "default-src", 223 originalPolicy: "default-src 'none'", 224 sourceFile: "example.js", 225 sample: "<script>alert('1');</scr" + "ipt>", 226 disposition: "enforce", 227 statusCode: 200, 228 lineNumber: 1, 229 // columnNumber: 1, 230 }).columnNumber, 0); 231 }, "SecurityPolicyViolationEvent constructor does not require columnNumber"); 232 </script>