summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/link
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/link
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/link')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html4
69 files changed, 373 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html
new file mode 100644
index 000000000..fb1f349f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty href is not valid</title>
+<link href="" rel>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html
new file mode 100644
index 000000000..fd4bd484a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href</title>
+<link href="file:///" rel=help><!-- scheme-file-slash-slash-slash-only -->
+<link href="http://a:@www.example.com" rel=help><!-- userinfo-password-empty -->
+<link href="foo://///////" rel=help><!-- scheme-private-path-leading-slashes-only -->
+<link href="file://abc|/foo/bar" rel=help><!-- scheme-file-slash-slash-abc-bar -->
+<link href="/a/b/c" rel=help><!-- path-simple-relative -->
+<link href="http://example.com/你好你好" rel=help><!-- path-unicode-han -->
+<link href="/a/%2f/c" rel=help><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<link href="http://f:/c" rel=help><!-- port-none-but-colon -->
+<link href="http://example.com/foo%41%7a" rel=help><!-- path-percent-encoded-multiple -->
+<link href="http://192.168.0.257/" rel=help><!-- host-IP-address-broken -->
+<link href="madeupscheme:example.com/" rel=help><!-- scheme-private-no-slash -->
+<link href="?" rel=help><!-- query-empty-no-path-relative -->
+<link href="http://example.com/%20foo" rel=help><!-- path-percent-encoded-space -->
+<link href="mailto:/example.com/" rel=help><!-- scheme-mailto-single-slash -->
+<link href="::" rel=help><!-- path-leading-colon-colon-relative -->
+<link href="http://example.com/%3A%3a%3C%3c" rel=help><!-- path-percent-encoded-mixed-case -->
+<link href="http://user:pass@foo:21/bar;par?b#c" rel=help><!-- userinfo -->
+<link href="ws:/example.com/" rel=help><!-- scheme-ws-single-slash -->
+<link href="foo://" rel=help><!-- scheme-private-slash-slash -->
+<link href="#" rel=help><!-- fragment-empty-hash-only-no-path-relative -->
+<link href="http://f:00000000000000/c" rel=help><!-- port-00000000000000 -->
+<link href="foo:////://///" rel=help><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<link href=":23" rel=help><!-- path-leading-colon-number-relative -->
+<link href="foo:/" rel=help><!-- scheme-private-slash -->
+<link href="http://💩" rel=help><!-- host-is-pile-of-poo -->
+<link href="file:test" rel=help><!-- scheme-file-no-slash -->
+<link href="file://C|/foo/bar" rel=help><!-- scheme-file-slash-slash-c-bar -->
+<link href="#/" rel=help><!-- fragment-slash-relative -->
+<link href="http://192.0x00A80001" rel=help><!-- host-192.0x00A80001 -->
+<link href="foo.com" rel=help><!-- scheme-none-relative -->
+<link href="http💩//:foo" rel=help><!-- path-contains-pile-of-poo -->
+<link href="File://foo/bar.html" rel=help><!-- scheme-file-uppercase -->
+<link href=":/" rel=help><!-- path-leading-colon-slash-relative -->
+<link href="http://www.foo。bar.com" rel=help><!-- host-exotic-dot -->
+<link href="http://GOO​⁠goo.com" rel=help><!-- host-exotic-whitespace -->
+<link href="file:///foo/bar.txt" rel=help><!-- scheme-file-host-empty -->
+<link href="javascript:/example.com/" rel=help><!-- scheme-javascript-single-slash -->
+<link href="gopher:/example.com/" rel=help><!-- scheme-gopher-single-slash -->
+<link href="ftps:example.com/" rel=help><!-- scheme-ftps-no-slash -->
+<link href="file://server/foo/bar" rel=help><!-- scheme-file-host-included -->
+<link href="http://example.com/foo%00" rel=help><!-- path-percent-encoded-u0000 -->
+<link href="a:foo.com" rel=help><!-- scheme-private -->
+<link href=":" rel=help><!-- path-colon-relative -->
+<link href="http://:b@www.example.com" rel=help><!-- userinfo-user-empty -->
+<link href="file:/" rel=help><!-- scheme-file-slash-only -->
+<link href="wss:example.com/" rel=help><!-- scheme-wss-no-slash -->
+<link href="::23" rel=help><!-- path-colon-colon-number-relative -->
+<link href="/a%2fc" rel=help><!-- path-percent-encoded-slash-relative -->
+<link href="http://a:b@c:29/d" rel=help><!-- userinfo-host-port-path -->
+<link href="gopher:example.com/" rel=help><!-- scheme-gopher-no-slash -->
+<link href="madeupscheme:/example.com/" rel=help><!-- scheme-private-single-slash -->
+<link href="mailto:example.com/" rel=help><!-- scheme-mailto-no-slash -->
+<link href="http://%25DOMAIN:foobar@foodomain.com" rel=help><!-- userinfo-username-contains-percent-encoded -->
+<link href="/:23" rel=help><!-- path-slash-colon-number-relative -->
+<link href="foo://///////bar.com/" rel=help><!-- scheme-private-path-leading-slashes-chars -->
+<link href="http://[2001::1]:80" rel=help><!-- host-ipv6-port -->
+<link href="data:text/plain,foo" rel=help><!-- scheme-data-no-slash -->
+<link href="http://example.com/foo/%2e" rel=help><!-- path-percent-encoded-dot -->
+<link href="file:/example.com/" rel=help><!-- scheme-file-single-slash -->
+<link href="http://example.com/©zbar" rel=help><!-- path-non-ascii -->
+<link href="http://example.com//foo" rel=help><!-- path-uFEFF -->
+<link href="wss:/example.com/" rel=help><!-- scheme-wss-single-slash -->
+<link href="http://foo/abcd#foo?bar" rel=help><!-- fragment-contains-question-mark -->
+<link href=":#" rel=help><!-- path-leading-colon-hash-relative -->
+<link href="http://example.com/foo%91" rel=help><!-- path-percent-encoded-u0091 -->
+<link href="c:/foo" rel=help><!-- scheme-private-single-letter -->
+<link href=":foo.com" rel=help><!-- path-leading-colon-chars-relative -->
+<link href="http://你好你好" rel=help><!-- host-idn-unicode-han -->
+<link href="http://example.com/foo#💩" rel=help><!-- fragment-contains-pile-of-poo -->
+<link href="file:" rel=help><!-- scheme-file-scheme-only -->
+<link href="#β" rel=help><!-- fragment-non-ascii-relative -->
+<link href="foo:/bar.com/" rel=help><!-- scheme-private-path -->
+<link href="http://f:0/c" rel=help><!-- port-0 -->
+<link href="#;?" rel=help><!-- fragment-semicolon-question-mark-relative -->
+<link href="http://Go.com" rel=help><!-- host-fullwidth -->
+<link href="http://@www.example.com" rel=help><!-- userinfo-empty -->
+<link href="http://example.com/‮/foo/‭/bar" rel=help><!-- path-u202E-u202D -->
+<link href="http://[2001::1]" rel=help><!-- host-ipv6 -->
+<link href="💩http://foo" rel=help><!-- path-starts-with-pile-of-poo -->
+<link href="http://foo/abcd?efgh?ijkl" rel=help><!-- query-contains-question-mark -->
+<link href="//foo/bar" rel=help><!-- scheme-schemeless-relative -->
+<link href="ftps:/example.com/" rel=help><!-- scheme-ftps-single-slash -->
+<link href="http://foo.com:b@d/" rel=help><!-- userinfo-username-non-alpha -->
+<link href=":a" rel=help><!-- path-leading-colon-letter-relative -->
+<link href="/" rel=help><!-- path-slash-only-relative -->
+<link href="http://example.com/foo?💩" rel=help><!-- query-contains-pile-of-poo -->
+<link href="http://f:00000000000000000000080/c" rel=help><!-- port-00000000000000000000080 -->
+<link href="file://" rel=help><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html
new file mode 100644
index 000000000..eded973f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset=utf-8>
+<title>link element missing href attribute</title>
+<link rel=stylesheet>
+</head>
+<body>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html
new file mode 100644
index 000000000..6874b1197
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty href is not valid</title>
+<link href="
+" rel>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html
new file mode 100644
index 000000000..8f59c37ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-backslash</title>
+<link href="#\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..77997986a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-contains-hash</title>
+<link href="http://foo/path#f#g" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..3cd63e09c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-leading-space</title>
+<link href="http://f:21/b# e" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html
new file mode 100644
index 000000000..f66c1640a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-cr</title>
+<link href="http://example. org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..591dca852
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://%41.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..484097db8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://%ef%bc%85%ef%bc%94%ef%bc%91.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html
new file mode 100644
index 000000000..30bfc0f08
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty</title>
+<link href="http://" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..027efe0d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://@/www.example.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..b07878ee9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://user:pass@/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..03b35eb58
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://[www.google.com]/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..22b5e8d3c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode</title>
+<link href="http://﷐zyx.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..fcba2a20b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://%ef%b7%90zyx.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html
new file mode 100644
index 000000000..446a0d480
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-newline</title>
+<link href="http://example.
+org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html
new file mode 100644
index 000000000..7cf4ab8d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-space</title>
+<link href="http://example .org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..34500ab8c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://[1::2]:3:4" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html
new file mode 100644
index 000000000..4f4a97bd3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-tab</title>
+<link href="http://example .org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..905c8661f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://%00.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..084773e6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://%ef%bc%85%ef%bc%90%ef%bc%90.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..1e02cf8e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://example.com/foo%" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html
new file mode 100644
index 000000000..8386f5d80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-contains-space</title>
+<link href="/a/ /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..5c333681b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://foo.com/\@" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..19d37d8f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href=":\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..5580214cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href=":foo.com\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html
new file mode 100644
index 000000000..288900585
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-space</title>
+<link href="http://f:21/ b" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..599fecbbc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://example.com/foo/%2e%2" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..630062db8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="[61:24:74]:98" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html
new file mode 100644
index 000000000..4c5e234c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-tab</title>
+<link href="http://example.com/foo bar" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html
new file mode 100644
index 000000000..f8bcef833
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-trailing-space</title>
+<link href="http://f:21/b ?" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html
new file mode 100644
index 000000000..5bed826c0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-u0091</title>
+<link href="http://example.com/foo‘" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html
new file mode 100644
index 000000000..4b7e189c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-999999</title>
+<link href="http://f:999999/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html
new file mode 100644
index 000000000..030307b47
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-cr</title>
+<link href="http://f: /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..0bf977156
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://2001::1]:80" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html
new file mode 100644
index 000000000..04eb695a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon</title>
+<link href="http://2001::1" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html
new file mode 100644
index 000000000..f77f17e13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-dash</title>
+<link href="http://foo:-80/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..2a8ab2aac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-multiple-letters</title>
+<link href="http://f:fifty-two/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html
new file mode 100644
index 000000000..5346b4fa2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-newline</title>
+<link href="http://f:
+/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html
new file mode 100644
index 000000000..f0b2d5117
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-single-letter</title>
+<link href="http://f:b/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html
new file mode 100644
index 000000000..1acf0b3d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-space</title>
+<link href="http://f: /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html
new file mode 100644
index 000000000..4371db32d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-tab</title>
+<link href="http://f: /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html
new file mode 100644
index 000000000..1a45d5a80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-leading-space</title>
+<link href="http://f:21/b? d" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html
new file mode 100644
index 000000000..ccd4596d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-trailing-space</title>
+<link href="http://f:21/b?d #" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..70fd6492c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="data:text/html,test#test" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..95f895806
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="data:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..8b37e6b76
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-backslash</title>
+<link href="file:c:\foo\bar.html" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..cb0274812
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="file:/C|/foo/bar" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..0364ce649
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="file:///C|/foo/bar" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..17a72ac54
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="ftp:example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..c930a16b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="ftp:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..af1814b44
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-backslash</title>
+<link href="http:\\foo.com\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..816bd3b25
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http::@c:29" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..1678caac7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http:foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..f768ffa9d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http:[61:27]/:foo" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..b2210d490
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..13c5e3462
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="https:example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..b9192eb21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="https:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..6cf49ca23
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="javascript:example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..3877fab7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-cr</title>
+<link href="a: foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..5b747be01
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-newline</title>
+<link href="a:
+foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..65dd25d84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-space</title>
+<link href="a: foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..934a8c4d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-tab</title>
+<link href="a: foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..78e636f58
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-backslash</title>
+<link href="http://a\b:c\d@foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..259f84eb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://&a:foo(b]c@d:2/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..5acd244cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://foo:💩@example.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..1cff4f275
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://::@c@d:2" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..0db2f57b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/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>
+<link href="http://💩:foo@example.com" rel=help>