| <!DOCTYPE html> |
| <head> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| const testCases = [ |
| ["script", "src"], |
| ["div", "innerHTML"], |
| ["script", "text"], |
| ]; |
| |
| testCases.forEach(c => { |
| const name = `${c[0]}.${c[1]} `; |
| test(t => { |
| s = document.createElement(c[0]); |
| s[c[1]] = "https://example.com/"; |
| assert_equals("https://example.com/", s[c[1]].toString()); |
| }, name + "without trusted types"); |
| }); |
| |
| p = trustedTypes.createPolicy("policyA", |
| {createScript: s => s + 1, createHTML: s => s + 1, createScriptURL: s => s + 1}); |
| testCases.forEach(c => { |
| const name = `${c[0]}.${c[1]} `; |
| test(t => { |
| s = document.createElement("script"); |
| script = p.createScript("1"); |
| s.innerText = script; |
| assert_equals(script.toString(), s.innerText.toString()); |
| }, name + "with trusted types"); |
| }); |
| |
| trustedTypes.createPolicy("default", {}); |
| testCases.forEach(c => { |
| const name = `${c[0]}.${c[1]} `; |
| test(t => { |
| s = document.createElement("script"); |
| s.innerText = "1"; |
| assert_equals(s.innerText.toString(), "1"); |
| }, name + "empty default"); |
| }); |
| </script> |