diff --git a/tests/wpt/dom/nodes/DOMImplementation-createDocument-with-null-browsing-context-crash.html b/tests/wpt/dom/nodes/DOMImplementation-createDocument-with-null-browsing-context-crash.html
new file mode 100644
index 00000000..c9393d0a
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-createDocument-with-null-browsing-context-crash.html
@@ -0,0 +1,13 @@
+
+
+
DOMImplementation.createDocument()
+
+
+
+
+
+
diff --git a/tests/wpt/dom/nodes/DOMImplementation-createDocument.html b/tests/wpt/dom/nodes/DOMImplementation-createDocument.html
new file mode 100644
index 00000000..835002b4
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-createDocument.html
@@ -0,0 +1,170 @@
+
+
+DOMImplementation.createDocument(namespace, qualifiedName, doctype)
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/dom/nodes/DOMImplementation-createDocumentType.html b/tests/wpt/dom/nodes/DOMImplementation-createDocumentType.html
new file mode 100644
index 00000000..8d23e66a
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-createDocumentType.html
@@ -0,0 +1,123 @@
+
+
+DOMImplementation.createDocumentType(qualifiedName, publicId, systemId)
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument-with-null-browsing-context-crash.html b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument-with-null-browsing-context-crash.html
new file mode 100644
index 00000000..d0cd6f1f
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument-with-null-browsing-context-crash.html
@@ -0,0 +1,13 @@
+
+
+DOMImplementation.createHTMLDocument()
+
+
+
+
+
+
diff --git a/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument-with-saved-implementation.html b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument-with-saved-implementation.html
new file mode 100644
index 00000000..bae22660
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument-with-saved-implementation.html
@@ -0,0 +1,16 @@
+
+DOMImplementation.createHTMLDocument
+
+
+
+
+
diff --git a/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument.html b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument.html
new file mode 100644
index 00000000..c6e0beaf
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument.html
@@ -0,0 +1,96 @@
+
+
+
+DOMImplementation.createHTMLDocument
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument.js b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument.js
new file mode 100644
index 00000000..3e7e9aa9
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-createHTMLDocument.js
@@ -0,0 +1,25 @@
+function createHTMLDocuments(checkDoc) {
+ var tests = [
+ ["", "", ""],
+ [null, "null", "null"],
+ [undefined, undefined, ""],
+ ["foo bar baz", "foo bar baz", "foo bar baz"],
+ ["foo\t\tbar baz", "foo\t\tbar baz", "foo bar baz"],
+ ["foo\n\nbar baz", "foo\n\nbar baz", "foo bar baz"],
+ ["foo\f\fbar baz", "foo\f\fbar baz", "foo bar baz"],
+ ["foo\r\rbar baz", "foo\r\rbar baz", "foo bar baz"],
+ ]
+
+ tests.forEach(function(t, i) {
+ var title = t[0], expectedtitle = t[1], normalizedtitle = t[2]
+ test(function() {
+ var doc = document.implementation.createHTMLDocument(title);
+ checkDoc(doc, expectedtitle, normalizedtitle)
+ }, "createHTMLDocument test " + i + ": " + t.map(function(el) { return format_value(el) }))
+ })
+
+ test(function() {
+ var doc = document.implementation.createHTMLDocument();
+ checkDoc(doc, undefined, "")
+ }, "Missing title argument");
+}
diff --git a/tests/wpt/dom/nodes/DOMImplementation-hasFeature.html b/tests/wpt/dom/nodes/DOMImplementation-hasFeature.html
new file mode 100644
index 00000000..637565a6
--- /dev/null
+++ b/tests/wpt/dom/nodes/DOMImplementation-hasFeature.html
@@ -0,0 +1,155 @@
+
+
+DOMImplementation.hasFeature(feature, version)
+
+
+
+
+