diff options
Diffstat (limited to 'testing/web-platform/tests/dom/historical.html')
-rw-r--r-- | testing/web-platform/tests/dom/historical.html | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/testing/web-platform/tests/dom/historical.html b/testing/web-platform/tests/dom/historical.html new file mode 100644 index 000000000..cec309308 --- /dev/null +++ b/testing/web-platform/tests/dom/historical.html @@ -0,0 +1,132 @@ +<!DOCTYPE html> +<title>Historical DOM features must be removed</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> +function isInterfaceNuked(name) { + test(function() { + assert_equals(window[name], undefined) + }, "Historical DOM features must be removed: " + name) +} +var nukedInterfaces = [ + "DOMConfiguration", + "DOMError", + "DOMErrorHandler", + "DOMImplementationList", + "DOMImplementationSource", + "DOMLocator", + "DOMObject", + "DOMSettableTokenList", + "DOMUserData", + "Entity", + "EntityReference", + "EventException", // DOM Events + "NameList", + "Notation", + "TypeInfo", + "UserDataHandler", + "RangeException" // DOM Range +] +nukedInterfaces.forEach(isInterfaceNuked) + +function isNukedFromDocument(name) { + test(function() { + var doc = document.implementation.createDocument(null,null,null) + assert_equals(document[name], undefined) + assert_equals(doc[name], undefined) + }, "Historical DOM features must be removed: " + name) +} +var documentNuked = [ + "createEntityReference", + "xmlEncoding", + "xmlStandalone", + "xmlVersion", + "strictErrorChecking", + "domConfig", + "normalizeDocument", + "renameNode", + "defaultCharset", + "height", + "width" +] +documentNuked.forEach(isNukedFromDocument) + +test(function() { + assert_equals(document.implementation["getFeature"], undefined) +}, "DOMImplementation.getFeature() must be nuked.") + +function isNukedFromElement(name) { + test(function() { + var ele = document.createElementNS("test", "test") + assert_equals(document.body[name], undefined) + assert_equals(ele[name], undefined) + }, "Historical DOM features must be removed: " + name) +} +var elementNuked = [ + "schemaTypeInfo", + "setIdAttribute", + "setIdAttributeNS", + "setIdAttributeNode" +] +elementNuked.forEach(isNukedFromElement) + +function isNukedFromDoctype(name) { + test(function() { + var doctype = document.implementation.createDocumentType("test", "", "") + assert_equals(doctype[name], undefined) + }, "DocumentType member must be nuked: " + name) +} +var doctypeNuked = [ + "entities", + "notations", + "internalSubset" +] +doctypeNuked.forEach(isNukedFromDoctype) + +function isNukedFromText(name) { + test(function() { + var text = document.createTextNode("test") + assert_equals(text[name], undefined) + }, "Text member must be nuked: " + name) +} +var textNuked = [ + "isElementContentWhitespace", + "replaceWholeText" +] +textNuked.forEach(isNukedFromText) + +function isNukedFromNode(name) { + test(function() { + var doc = document.implementation.createDocument(null,null,null) + var doctype = document.implementation.createDocumentType("test", "", "") + var text = document.createTextNode("test") + assert_equals(doc[name], undefined) + assert_equals(doctype[name], undefined) + assert_equals(text[name], undefined) + }, "Node member must be nuked: " + name) +} +var nodeNuked = [ + "hasAttributes", + "attributes", + "namespaceURI", + "prefix", + "localName", + "isSupported", + "getFeature", + "getUserData", + "setUserData", + "rootNode", +] +nodeNuked.forEach(isNukedFromNode) + +function isNukedFromWindow(name) { + test(function() { + assert_equals(window[name], undefined) + }, "Window member must be nuked: " + name) +} +var windowNuked = [ + "attachEvent" +] +windowNuked.forEach(isNukedFromWindow) +</script> |