blob: 24b56cf05ada3722c30a7a1427d1cbb324ec366a [file] [log] [blame]
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
// META: script=/common/subset-tests-by-key.js
// META: variant=?include=Node
// META: variant=?exclude=Node
// META: timeout=long
// Note: This isn't merged into idlharness.any.js because of the use of variants,
// i.e., include=Node wouldn't make sense for workers.
'use strict';
idl_test(
['dom'],
['html'],
idl_array => {
self.xmlDoc = document.implementation.createDocument(null, '', null);
self.detachedRange = document.createRange();
detachedRange.detach();
self.element = xmlDoc.createElementNS(null, 'test');
element.setAttribute('bar', 'baz');
idl_array.add_objects({
EventTarget: ['new EventTarget()'],
Event: ['document.createEvent("Event")', 'new Event("foo")'],
CustomEvent: ['new CustomEvent("foo")'],
AbortController: ['new AbortController()'],
AbortSignal: ['new AbortController().signal'],
Document: ['new Document()'],
XMLDocument: ['xmlDoc'],
DOMImplementation: ['document.implementation'],
DocumentFragment: ['document.createDocumentFragment()'],
DocumentType: ['document.doctype'],
Element: ['element'],
Attr: ['document.querySelector("[id]").attributes[0]'],
Text: ['document.createTextNode("abc")'],
ProcessingInstruction: ['xmlDoc.createProcessingInstruction("abc", "def")'],
Comment: ['document.createComment("abc")'],
Range: ['document.createRange()', 'detachedRange'],
NodeIterator: ['document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false)'],
TreeWalker: ['document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false)'],
NodeList: ['document.querySelectorAll("script")'],
HTMLCollection: ['document.body.children'],
DOMTokenList: ['document.body.classList'],
XPathEvaluator: ['new XPathEvaluator()'],
XPathExpression: ['document.createExpression("//*")'],
// Skipped due to https://github.com/web-platform-tests/wpt/issues/18827:
// XPathNSResolver: ['document.createNSResolver(document.body)'],
XPathResult: ['document.evaluate("//*", document.body)'],
});
}
);