diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/dom/historical.html | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/dom/historical.html')
-rw-r--r-- | testing/web-platform/tests/dom/historical.html | 222 |
1 files changed, 222 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 0000000000..1bc209ec0e --- /dev/null +++ b/testing/web-platform/tests/dom/historical.html @@ -0,0 +1,222 @@ +<!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 isInterfaceRemoved(name) { + test(function() { + assert_false(name in window) + assert_equals(window[name], undefined) + }, "Historical DOM features must be removed: " + name) +} +var removedInterfaces = [ + "DOMConfiguration", + "DOMCursor", + "DOMError", + "DOMErrorHandler", + "DOMImplementationList", + "DOMImplementationSource", + "DOMLocator", + "DOMObject", + "DOMRequest", + "DOMSettableTokenList", + "DOMUserData", + "Entity", + "EntityReference", + "EventException", // DOM Events + "NameList", + "Notation", + "TypeInfo", + "UserDataHandler", + "RangeException", // DOM Range + "SVGPathSegList" +] +removedInterfaces.forEach(isInterfaceRemoved) + +function isRemovedFromDocument(name) { + test(function() { + var doc = document.implementation.createDocument(null,null,null) + assert_false(name in document) + assert_equals(document[name], undefined) + assert_false(name in doc) + assert_equals(doc[name], undefined) + }, "Historical DOM features must be removed: " + name) +} +var documentRemoved = [ + "createEntityReference", + "xmlEncoding", + "xmlStandalone", + "xmlVersion", + "strictErrorChecking", + "domConfig", + "normalizeDocument", + "renameNode", + "defaultCharset", + "height", + "width", + // https://github.com/whatwg/html/commit/a64aea7fdb221bba027d95dc3cabda09e0b3e5dc + "commands", + // https://github.com/whatwg/html/commit/797b4d273955a0fe3cc2e2d0ca5d578f37c0f126 + "cssElementMap", + // https://github.com/whatwg/html/commit/e236f46820b93d6fe2e2caae0363331075c6c4fb + "async", + // https://github.com/whatwg/dom/pull/815 + "origin", +] +documentRemoved.forEach(isRemovedFromDocument) + +test(function() { + // https://github.com/whatwg/html/commit/e236f46820b93d6fe2e2caae0363331075c6c4fb + assert_false("load" in document); + assert_equals(document["load"], undefined) +}, "document.load"); + +test(function() { + // https://github.com/whatwg/html/commit/523f7a8773d2ab8a1eb0da6510651e8c5d2a7531 + var doc = document.implementation.createDocument(null, null, null); + assert_false("load" in doc); + assert_equals(doc["load"], undefined) +}, "XMLDocument.load"); + +test(function() { + assert_false("getFeature" in document.implementation) + assert_equals(document.implementation["getFeature"], undefined) +}, "DOMImplementation.getFeature() must be removed.") + +function isRemovedFromElement(name) { + test(function() { + var ele = document.createElementNS("test", "test") + assert_false(name in document.body) + assert_equals(document.body[name], undefined) + assert_false(name in ele) + assert_equals(ele[name], undefined) + }, "Historical DOM features must be removed: " + name) +} +var elementRemoved = [ + "schemaTypeInfo", + "setIdAttribute", + "setIdAttributeNS", + "setIdAttributeNode" +] +elementRemoved.forEach(isRemovedFromElement) + +function isRemovedFromAttr(name) { + test(function() { + var attr = document.createAttribute("test") + assert_false(name in attr) + assert_equals(attr[name], undefined) + }, "Attr member must be removed: " + name) +} +var attrRemoved = [ + "schemaTypeInfo", + "isId" +] +attrRemoved.forEach(isRemovedFromAttr) + +function isRemovedFromDoctype(name) { + test(function() { + var doctype = document.implementation.createDocumentType("test", "", "") + assert_false(name in doctype) + assert_equals(doctype[name], undefined) + }, "DocumentType member must be removed: " + name) +} +var doctypeRemoved = [ + "entities", + "notations", + "internalSubset" +] +doctypeRemoved.forEach(isRemovedFromDoctype) + +function isRemovedFromText(name) { + test(function() { + var text = document.createTextNode("test") + assert_false(name in text) + assert_equals(text[name], undefined) + }, "Text member must be removed: " + name) +} +var textRemoved = [ + "isElementContentWhitespace", + "replaceWholeText" +] +textRemoved.forEach(isRemovedFromText) + +function isRemovedFromNode(name) { + test(function() { + var doc = document.implementation.createDocument(null,null,null) + var doctype = document.implementation.createDocumentType("test", "", "") + var text = document.createTextNode("test") + assert_false(name in doc) + assert_equals(doc[name], undefined) + assert_false(name in doctype) + assert_equals(doctype[name], undefined) + assert_false(name in text) + assert_equals(text[name], undefined) + }, "Node member must be removed: " + name) +} +var nodeRemoved = [ + "hasAttributes", + "attributes", + "namespaceURI", + "prefix", + "localName", + "isSupported", + "getFeature", + "getUserData", + "setUserData", + "rootNode", +] +nodeRemoved.forEach(isRemovedFromNode) + +function isRemovedFromWindow(name) { + test(function() { + assert_false(name in window) + assert_equals(window[name], undefined) + }, "Window member must be removed: " + name) +} +var windowRemoved = [ + "attachEvent", + "content", + "sidebar", +] +windowRemoved.forEach(isRemovedFromWindow) + +function isRemovedFromEvent(name) { + test(() => { + assert_false(name in Event) + assert_equals(Event[name], undefined) + }, "Event should not have this constant: " + name) +} +var EventRemoved = [ + "MOUSEDOWN", + "MOUSEUP", + "MOUSEOVER", + "MOUSEOUT", + "MOUSEMOVE", + "MOUSEDRAG", + "CLICK", + "DBLCLICK", + "KEYDOWN", + "KEYUP", + "KEYPRESS", + "DRAGDROP", + "FOCUS", + "BLUR", + "SELECT", + "CHANGE" +] +EventRemoved.forEach(isRemovedFromEvent) + +var EventPrototypeRemoved = [ + "getPreventDefault", + "path" +] +EventPrototypeRemoved.forEach(name => { + test(() => { + assert_false(name in Event.prototype) + assert_equals(Event.prototype[name], undefined) + assert_false(name in new Event("test")) + assert_equals((new Event("test"))[name], undefined) + }, "Event.prototype should not have this property: " + name) +}) +</script> |