WPT
wpt / dom / nodes / DOMImplementation-hasFeature.html
Spec: DOM ↗
Runs: Chrome 155.0.8043.0 (wpt@b89af32bc, 2026-09-05) | Firefox 157.0a1 (wpt@b89af32bc, 2026-09-05) | Safari 251 preview (wpt@b89af32bc, 2026-09-05) | Ladybird 1.0-ca509 (wpt@b89af32bc, 2026-09-05) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 137/137 | 137/137 | 137/137 | 137/137 | 137/137 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| DOMImplementation.hasFeature(feature, version) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature() | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.svg") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.dom.svg") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("http://www.w3.org/TR/SVG11/feature#Script") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "2.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "3.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "100.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "2.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "3.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "100.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "2") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "3") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "100") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "2") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "3") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "100") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "1.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "2.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "3.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "100.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "1.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "2.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "3.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "100.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("core", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("xml", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("CoRe", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XmL", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature(" Core", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature(" XML", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core ", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML ", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Co re", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XM L", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("aCore", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("aXML", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Corea", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XMLa", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Coare", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XMaL", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", " ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", " ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", " 1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", " 2.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", " 3.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", " 100.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", " 1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", " 2.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", " 3.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", " 100.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "1.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "2.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "3.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "100.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "1.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "2.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "3.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "100.0 ") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "1. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "2. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "3. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "100. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "1. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "2. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "3. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "100. 0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "a1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "a2.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "a3.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "a100.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "a1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "a2.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "a3.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "a100.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "1.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "2.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "3.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "100.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "1.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "2.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "3.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "100.0a") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "1.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "2.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "3.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", "100.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "1.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "2.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "3.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", "100.a0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", 1) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", 2) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", 3) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", 100) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", 1) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", 2) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", 3) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", 100) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("core", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("xml", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("CoRe", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XmL", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature(" Core", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature(" XML", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core ", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML ", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Co re", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XM L", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("aCore", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("aXML", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Corea", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XMLa", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Coare", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XMaL", null) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("Core", undefined) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("XML", undefined) | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("This is filler text.", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature(null, "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature(undefined, "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.svg", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.svg", "1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.svg", "1.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.dom.svg", "") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.dom.svg", "1.0") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("org.w3c.dom.svg", "1.1") | PASS | PASS | PASS | PASS | PASS | — |
| hasFeature("http://www.w3.org/TR/SVG11/feature#Script", "7.5") | PASS | PASS | PASS | PASS | PASS | — |