Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /dom/nodes/ParentNode-querySelector-xml-capitalization.window.html - WPT Dashboard Interop Dashboard
"use strict";
test(() => {
const doc = (new DOMParser()).parseFromString(`<Foo><bar>baz</bar></Foo>`, "application/xml");
assert_equals(doc.querySelector("Foo"), doc.documentElement, "Foo");
assert_equals(doc.querySelector("bar"), doc.documentElement.firstChild, "bar");
assert_equals(doc.querySelector("Foo bar"), doc.documentElement.firstChild, "Foo bar");
}, "Descendant combinator");
test(() => {
const xml = `
<root>
<aB>
<c></c>
</aB>
<cd>
<e></e>
</cd>
</root>
`;
const doc = (new DOMParser()).parseFromString(xml, "application/xml");
assert_not_equals(doc.querySelector("c"), null, "c");
assert_equals(doc.querySelector("aB *"), doc.querySelector("c"), "aB *");
assert_not_equals(doc.querySelector("e"), null, "e");
assert_equals(doc.querySelector("cd *"), doc.querySelector("e"), "cd *");
}, "Descendant combinator with *");
test(() => {
const doc = (new DOMParser()).parseFromString(`<elem>
<Test>
content
<my-tag>abc</my-tag>
</Test>
</elem>`, "text/xml");
assert_not_equals(doc.querySelector("Test"), null, "Test");
assert_equals(doc.querySelector("test"), null, "test");
assert_not_equals(doc.querySelector("my-tag"), null, "my-tag");
assert_not_equals(doc.querySelector("Test>my-tag"), null, "my-tag");
}, "Child combinator");