mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-07-07 10:29:03 +00:00
133 lines
3.3 KiB
HTML
133 lines
3.3 KiB
HTML
<!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 = [
|
|
"CDATASection",
|
|
"DOMConfiguration",
|
|
"DOMError",
|
|
"DOMErrorHandler",
|
|
"DOMImplementationList",
|
|
"DOMImplementationSource",
|
|
"DOMLocator",
|
|
"DOMObject",
|
|
"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 = [
|
|
"createCDATASection",
|
|
"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"
|
|
]
|
|
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>
|