| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("Test support for DOMTokenList.supports()"); |
| |
| shouldBeType("DOMTokenList.prototype.supports", "Function"); |
| |
| debug(""); |
| debug("* HTMLLinkElement.relList"); |
| var link = document.createElement("link"); |
| shouldBe("link.relList.__proto__", "DOMTokenList.prototype"); |
| var linkRelSupportedValues = ["alternate", "dns-prefetch", "icon", "stylesheet"]; |
| for (var i = 0; i < linkRelSupportedValues.length; i++) { |
| shouldBeTrue("link.relList.supports('" + linkRelSupportedValues[i] + "')"); |
| shouldBeTrue("link.relList.supports('" + linkRelSupportedValues[i].toUpperCase() + "')"); |
| } |
| shouldBeFalse("link.relList.supports('unsupported')"); |
| |
| debug(""); |
| debug("* HTMLAnchorElement.relList"); |
| var anchor = document.createElement("a"); |
| shouldBe("anchor.relList.__proto__", "DOMTokenList.prototype"); |
| var anchorRelSupportedValues = ["noreferrer", "noopener", "opener"]; |
| for (var i = 0; i < anchorRelSupportedValues.length; i++) { |
| shouldBeTrue("anchor.relList.supports('" + anchorRelSupportedValues[i] + "')"); |
| shouldBeTrue("anchor.relList.supports('" + anchorRelSupportedValues[i].toUpperCase() + "')"); |
| } |
| shouldBeFalse("anchor.relList.supports('unsupported')"); |
| |
| debug(""); |
| debug("* HTMLAreaElement.relList"); |
| var area = document.createElement("area"); |
| shouldBe("area.relList.__proto__", "DOMTokenList.prototype"); |
| var areaRelSupportedValues = ["noreferrer", "noopener"]; |
| for (var i = 0; i < areaRelSupportedValues.length; i++) { |
| shouldBeTrue("area.relList.supports('" + areaRelSupportedValues[i] + "')"); |
| shouldBeTrue("area.relList.supports('" + areaRelSupportedValues[i].toUpperCase() + "')"); |
| } |
| shouldBeFalse("area.relList.supports('unsupported')"); |
| |
| debug(""); |
| debug("* HTMLIFrameElement.sandbox"); |
| var iframe = document.createElement("iframe"); |
| shouldBe("iframe.sandbox.__proto__", "DOMTokenList.prototype"); |
| var iframeSandboxSupportedValues = ["allow-forms", "allow-same-origin", "allow-scripts", "allow-top-navigation", "allow-pointer-lock", "allow-popups"]; |
| for (var i = 0; i < iframeSandboxSupportedValues.length; i++) { |
| shouldBeTrue("iframe.sandbox.supports('" + iframeSandboxSupportedValues[i] + "')"); |
| shouldBeTrue("iframe.sandbox.supports('" + iframeSandboxSupportedValues[i].toUpperCase() + "')"); |
| } |
| shouldBeFalse("iframe.sandbox.supports('unsupported')"); |
| |
| debug(""); |
| debug("* HTMLLinkElement.sizes"); |
| shouldBe("link.sizes.__proto__", "DOMTokenList.prototype"); |
| shouldThrowErrorName("link.sizes.supports('token')", "TypeError"); |
| |
| debug(""); |
| debug("* HTMLOutputElement.htmlFor"); |
| var output = document.createElement("output"); |
| shouldBe("output.htmlFor.__proto__", "DOMTokenList.prototype"); |
| shouldThrowErrorName("output.htmlFor.supports('token')", "TypeError"); |
| |
| debug(""); |
| debug("* HTMLElement.dropzone"); |
| if (link.dropzone) { |
| shouldBe("link.dropzone.__proto__", "DOMTokenList.prototype"); |
| var dropzoneSupportedValues = ["copy", "move", "link"]; |
| for (var i = 0; i < dropzoneSupportedValues.length; i++) { |
| shouldBeTrue("link.dropzone.supports('" + dropzoneSupportedValues[i] + "')"); |
| shouldBeTrue("link.dropzone.supports('" + dropzoneSupportedValues[i].toUpperCase() + "')"); |
| } |
| shouldBeFalse("link.dropzone.supports('unsupported')"); |
| } else |
| testFailed("HTMLElement.dropzone is not supported."); |
| |
| debug(""); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |