| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="/js-test-resources/js-test.js"></script> |
| </head> |
| <body> |
| <script> |
| description("Some elements should have `integrity` attributes. Others shouldn't."); |
| |
| var ASSERT_INTEGRITY = 1; |
| var ASSERT_NO_INTEGRITY = 0; |
| |
| function checkElement(elementName, integrityDisposition) { |
| var el = document.createElement(elementName); |
| if (integrityDisposition == ASSERT_INTEGRITY) { |
| if ("integrity" in el) |
| testPassed("<" + elementName + "> has an 'integrity' attribute."); |
| else |
| testFailed("<" + elementName + "> does not have an 'integrity' attribute."); |
| } else { |
| if ("integrity" in el) |
| testFailed("<" + elementName + "> has an 'integrity' attribute."); |
| else |
| testPassed("<" + elementName + "> does not have an 'integrity' attribute."); |
| } |
| } |
| |
| var shouldHaveIntegrity = [ |
| 'link', |
| 'script', |
| ]; |
| |
| var shouldNotHaveIntegrity = [ |
| 'a', |
| 'audio', |
| 'embed', |
| 'iframe', |
| 'img', |
| 'object', |
| 'source', |
| 'track', |
| 'video', |
| 'body', |
| 'div', |
| 'html', |
| 'meta', |
| 'span', |
| ]; |
| |
| for (var i = 0; i < shouldHaveIntegrity.length; i++) |
| checkElement(shouldHaveIntegrity[i], ASSERT_INTEGRITY); |
| |
| for (var i = 0; i < shouldNotHaveIntegrity.length; i++) |
| checkElement(shouldNotHaveIntegrity[i], ASSERT_NO_INTEGRITY); |
| </script> |
| </body> |
| </html> |