summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/base
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/conformance-checkers/html/elements/base
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/elements/base')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html4
157 files changed, 637 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html
new file mode 100644
index 000000000..32085fc8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset=utf-8>
+<base>
+<title>base element missing href and target attribute</title>
+</head>
+<body>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html
new file mode 100644
index 000000000..c3b766dfd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty href is valid</title>
+<base href="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html
new file mode 100644
index 000000000..6528b43ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-backslash</title>
+<base href="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..b5079588a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-contains-hash</title>
+<base href="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..2ac59a318
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-contains-pile-of-poo</title>
+<base href="http://example.com/foo#💩">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html
new file mode 100644
index 000000000..7c0479125
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-contains-question-mark</title>
+<base href="http://foo/abcd#foo?bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html
new file mode 100644
index 000000000..3d0970066
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-empty-hash-only-no-path-relative</title>
+<base href="#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..84150eadc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-leading-space</title>
+<base href="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html
new file mode 100644
index 000000000..15858fde1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-non-ascii-relative</title>
+<base href="#β">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html
new file mode 100644
index 000000000..68a838c8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-semicolon-question-mark-relative</title>
+<base href="#;?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html
new file mode 100644
index 000000000..7edb0b4ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-slash-relative</title>
+<base href="#/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html
new file mode 100644
index 000000000..75de62fdc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-192.0x00A80001</title>
+<base href="http://192.0x00A80001">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html
new file mode 100644
index 000000000..dc2e02080
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-IP-address-broken</title>
+<base href="http://192.168.0.257/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html
new file mode 100644
index 000000000..64535576d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-IP-address-fullwidth</title>
+<base href="http://0Xc0.0250.01">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html
new file mode 100644
index 000000000..8a092380d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-IP-address-percent-encoded</title>
+<base href="http://%30%78%63%30%2e%30%32%35%30.01">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html
new file mode 100644
index 000000000..cb631459e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-cr</title>
+<base href="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..fc44eee8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded</title>
+<base href="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..eaee5db8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded-percent-encoded</title>
+<base href="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html
new file mode 100644
index 000000000..08ce416ef
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty</title>
+<base href="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..d41591fab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-userinfo-empty</title>
+<base href="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..47941b723
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-with-userinfo</title>
+<base href="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html
new file mode 100644
index 000000000..d0d1f0a1d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-exotic-dot</title>
+<base href="http://www.foo。bar.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html
new file mode 100644
index 000000000..adcc57480
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-exotic-whitespace</title>
+<base href="http://GOO​⁠goo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html
new file mode 100644
index 000000000..65108edd4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-fullwidth</title>
+<base href="http://Go.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..c25a1a3ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-hostname-in-brackets</title>
+<base href="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html
new file mode 100644
index 000000000..576badf53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-idn-unicode-han</title>
+<base href="http://你好你好">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..4b2069201
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode</title>
+<base href="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..4533dbc88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode-percent-encoded</title>
+<base href="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html
new file mode 100644
index 000000000..112eacd95
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-ipv6</title>
+<base href="http://[2001::1]">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html
new file mode 100644
index 000000000..3495478c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-ipv6-port</title>
+<base href="http://[2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..f286407a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-is-pile-of-poo</title>
+<base href="http://💩">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html
new file mode 100644
index 000000000..44e53c36f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-newline</title>
+<base href="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html
new file mode 100644
index 000000000..4b02459e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-space</title>
+<base href="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..1839ee268
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-square-brackets-port-contains-colon</title>
+<base href="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html
new file mode 100644
index 000000000..335d7c842
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-tab</title>
+<base href="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..94a232712
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded</title>
+<base href="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..bc934e670
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded-percent-encoded</title>
+<base href="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..819a99d53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-bare-percent-sign</title>
+<base href="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..643b01f07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-colon-colon-number-relative</title>
+<base href="::23">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html
new file mode 100644
index 000000000..f1254de8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-colon-relative</title>
+<base href=":">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..f491b503f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-contains-pile-of-poo</title>
+<base href="http💩//:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html
new file mode 100644
index 000000000..87c76dd30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-contains-space</title>
+<base href="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..785ecad74
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-backslash-at-sign</title>
+<base href="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..1e61b71c3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-backslash</title>
+<base href=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..5ae57974b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-chars-backslash</title>
+<base href=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html
new file mode 100644
index 000000000..11b94a6e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-chars-relative</title>
+<base href=":foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html
new file mode 100644
index 000000000..0589f8ae2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-colon-relative</title>
+<base href="::">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html
new file mode 100644
index 000000000..7114dd5f5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-hash-relative</title>
+<base href=":#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html
new file mode 100644
index 000000000..279c2ce4c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-letter-relative</title>
+<base href=":a">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..c66670292
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-number-relative</title>
+<base href=":23">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html
new file mode 100644
index 000000000..77ec3dd2d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-slash-relative</title>
+<base href=":/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html
new file mode 100644
index 000000000..3a6cc2f33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-space</title>
+<base href="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html
new file mode 100644
index 000000000..e9d396b02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-non-ascii</title>
+<base href="http://example.com/©zbar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html
new file mode 100644
index 000000000..5921992d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-dot</title>
+<base href="http://example.com/foo/%2e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..c9cfe2328
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-percent-encoded-malformed</title>
+<base href="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html
new file mode 100644
index 000000000..677a564ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-mixed-case</title>
+<base href="http://example.com/%3A%3a%3C%3c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html
new file mode 100644
index 000000000..75a512bab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-multiple</title>
+<base href="http://example.com/foo%41%7a">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html
new file mode 100644
index 000000000..f5ed17b90
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-slash-plus-slashes-relative</title>
+<base href="/a/%2f/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html
new file mode 100644
index 000000000..79e89e3ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-slash-relative</title>
+<base href="/a%2fc">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html
new file mode 100644
index 000000000..cc9b8b850
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-space</title>
+<base href="http://example.com/%20foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html
new file mode 100644
index 000000000..515a7528e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-u0000</title>
+<base href="http://example.com/foo%00">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html
new file mode 100644
index 000000000..16cec3605
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-u0091</title>
+<base href="http://example.com/foo%91">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..79af6ae6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-relative-square-brackets</title>
+<base href="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html
new file mode 100644
index 000000000..7e4c99fab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-simple-relative</title>
+<base href="/a/b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..3834395ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-slash-colon-number-relative</title>
+<base href="/:23">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html
new file mode 100644
index 000000000..83a89c09a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-slash-only-relative</title>
+<base href="/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..204b8b096
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-starts-with-pile-of-poo</title>
+<base href="💩http://foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html
new file mode 100644
index 000000000..21f8b6e5d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-tab</title>
+<base href="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html
new file mode 100644
index 000000000..3a24cb6e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-trailing-space</title>
+<base href="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html
new file mode 100644
index 000000000..78383c870
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-u0091</title>
+<base href="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html
new file mode 100644
index 000000000..5d865b640
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-u202E-u202D</title>
+<base href="http://example.com/‮/foo/‭/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html
new file mode 100644
index 000000000..03c3a969f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-uFEFF</title>
+<base href="http://example.com//foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html
new file mode 100644
index 000000000..e6c290bc2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-unicode-han</title>
+<base href="http://example.com/你好你好">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html
new file mode 100644
index 000000000..6dd7298b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-0</title>
+<base href="http://f:0/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html
new file mode 100644
index 000000000..314c8ad77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-00000000000000</title>
+<base href="http://f:00000000000000/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html
new file mode 100644
index 000000000..34dd3d562
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-00000000000000000000080</title>
+<base href="http://f:00000000000000000000080/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html
new file mode 100644
index 000000000..95393fab2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-999999</title>
+<base href="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html
new file mode 100644
index 000000000..e5fe6bf68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-cr</title>
+<base href="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..3bc673fe6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon-bracket-colon</title>
+<base href="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html
new file mode 100644
index 000000000..c526a758f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon</title>
+<base href="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html
new file mode 100644
index 000000000..2270e65c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-dash</title>
+<base href="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..9d5ef7840
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-multiple-letters</title>
+<base href="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html
new file mode 100644
index 000000000..bef3487e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-newline</title>
+<base href="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html
new file mode 100644
index 000000000..4307c492c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-none-but-colon</title>
+<base href="http://f:/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html
new file mode 100644
index 000000000..8daa066d6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-single-letter</title>
+<base href="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html
new file mode 100644
index 000000000..77a3d5762
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-space</title>
+<base href="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html
new file mode 100644
index 000000000..e14664a74
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-tab</title>
+<base href="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..7ea7f4108
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: query-contains-pile-of-poo</title>
+<base href="http://example.com/foo?💩">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html
new file mode 100644
index 000000000..f78635c4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: query-contains-question-mark</title>
+<base href="http://foo/abcd?efgh?ijkl">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html
new file mode 100644
index 000000000..82b66f064
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: query-empty-no-path-relative</title>
+<base href="?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html
new file mode 100644
index 000000000..d26d8e196
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-leading-space</title>
+<base href="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html
new file mode 100644
index 000000000..d099a9f0e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-trailing-space</title>
+<base href="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..a1e740045
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>href warning: scheme-data-contains-fragment</title>
+<base href="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html
new file mode 100644
index 000000000..e13d2677b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-data-no-slash</title>
+<base href="data:text/plain,foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..1f938779a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-data-single-slash</title>
+<base href="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..fda3e3d03
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-backslash</title>
+<base href="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html
new file mode 100644
index 000000000..a90aa6c71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-host-empty</title>
+<base href="file:///foo/bar.txt">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html
new file mode 100644
index 000000000..322773e2e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-host-included</title>
+<base href="file://server/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html
new file mode 100644
index 000000000..3a31f957e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-no-slash</title>
+<base href="file:test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html
new file mode 100644
index 000000000..af318cdd9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-scheme-only</title>
+<base href="file:">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..87d17ed6c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-single-slash-c-bar</title>
+<base href="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html
new file mode 100644
index 000000000..f67878f46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-single-slash</title>
+<base href="file:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html
new file mode 100644
index 000000000..a8c329f33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-only</title>
+<base href="file:/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html
new file mode 100644
index 000000000..4537d8c19
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-abc-bar</title>
+<base href="file://abc|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html
new file mode 100644
index 000000000..4d96a67da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-c-bar</title>
+<base href="file://C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html
new file mode 100644
index 000000000..dcef904aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-only</title>
+<base href="file://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html
new file mode 100644
index 000000000..ffe97bb72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-slash-only</title>
+<base href="file:///">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..06b8933be
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-triple-slash-c-bar</title>
+<base href="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html
new file mode 100644
index 000000000..58bb4a479
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-uppercase</title>
+<base href="File://foo/bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..49285d808
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-no-slash</title>
+<base href="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..7ff694c98
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-single-slash</title>
+<base href="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html
new file mode 100644
index 000000000..bc0ac07fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-ftps-no-slash</title>
+<base href="ftps:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html
new file mode 100644
index 000000000..758a74e17
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-ftps-single-slash</title>
+<base href="ftps:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html
new file mode 100644
index 000000000..ec35f0abb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-gopher-no-slash</title>
+<base href="gopher:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html
new file mode 100644
index 000000000..aa97811b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-gopher-single-slash</title>
+<base href="gopher:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..5923cf1df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-backslash</title>
+<base href="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..8146e78bb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-colon</title>
+<base href="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..6084b413f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash</title>
+<base href="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..21f612d8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-square-bracket</title>
+<base href="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..4684b7b2b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-single-slash</title>
+<base href="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..76c139dfd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-no-slash</title>
+<base href="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..49d14bcec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-single-slash</title>
+<base href="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..16b4187b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-javascript-no-slash-malformed</title>
+<base href="javascript:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html
new file mode 100644
index 000000000..cb6b793bc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-javascript-single-slash</title>
+<base href="javascript:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html
new file mode 100644
index 000000000..5c96deb16
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-mailto-no-slash</title>
+<base href="mailto:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html
new file mode 100644
index 000000000..ca07ab15f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-mailto-single-slash</title>
+<base href="mailto:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html
new file mode 100644
index 000000000..672de82fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-none-relative</title>
+<base href="foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html
new file mode 100644
index 000000000..d565575b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private</title>
+<base href="a:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html
new file mode 100644
index 000000000..207a8d6cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-no-slash</title>
+<base href="madeupscheme:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html
new file mode 100644
index 000000000..8e0552b70
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path</title>
+<base href="foo:/bar.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html
new file mode 100644
index 000000000..6fa812d78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path-leading-slashes-chars</title>
+<base href="foo://///////bar.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html
new file mode 100644
index 000000000..3e5a44a00
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path-leading-slashes-colon-slashes</title>
+<base href="foo:////://///">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html
new file mode 100644
index 000000000..8d6c0c9f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path-leading-slashes-only</title>
+<base href="foo://///////">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html
new file mode 100644
index 000000000..bc82b8b7f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-single-letter</title>
+<base href="c:/foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html
new file mode 100644
index 000000000..c3639a432
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-single-slash</title>
+<base href="madeupscheme:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html
new file mode 100644
index 000000000..d56b355cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-slash</title>
+<base href="foo:/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html
new file mode 100644
index 000000000..39a6b25cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-slash-slash</title>
+<base href="foo://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html
new file mode 100644
index 000000000..d86d3f68c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-schemeless-relative</title>
+<base href="//foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..e6097e4f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-cr</title>
+<base href="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..acc6c91ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-newline</title>
+<base href="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..c03abd547
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-space</title>
+<base href="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..0e1f91bce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-tab</title>
+<base href="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html
new file mode 100644
index 000000000..63e24e9b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-ws-single-slash</title>
+<base href="ws:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html
new file mode 100644
index 000000000..2c4e88c3a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-wss-no-slash</title>
+<base href="wss:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html
new file mode 100644
index 000000000..a2b2b6fd5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-wss-single-slash</title>
+<base href="wss:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..99a6d7207
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-backslash</title>
+<base href="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html
new file mode 100644
index 000000000..8f641cf94
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-empty</title>
+<base href="http://@www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html
new file mode 100644
index 000000000..e28a20b51
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-host-port-path</title>
+<base href="http://a:b@c:29/d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html
new file mode 100644
index 000000000..6f1d9eaea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo</title>
+<base href="http://user:pass@foo:21/bar;par?b#c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..31a68b170
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-bad-chars</title>
+<base href="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..0fa8f0505
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-contains-pile-of-poo</title>
+<base href="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html
new file mode 100644
index 000000000..cedf7ae3b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-password-empty</title>
+<base href="http://a:@www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html
new file mode 100644
index 000000000..b6f323d2d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-user-empty</title>
+<base href="http://:b@www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..c3a16ce86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-at-sign</title>
+<base href="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html
new file mode 100644
index 000000000..2c2dfebd2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-username-contains-percent-encoded</title>
+<base href="http://%25DOMAIN:foobar@foodomain.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..0ff54c4c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-pile-of-poo</title>
+<base href="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html
new file mode 100644
index 000000000..f75070337
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-username-non-alpha</title>
+<base href="http://foo.com:b@d/">