summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html92
1 files changed, 92 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html
new file mode 100644
index 0000000000..a4be835e67
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href</title>
+<a href="a:foo.com"></a><!-- scheme-private -->
+<a href="foo:/"></a><!-- scheme-private-slash -->
+<a href="foo://"></a><!-- scheme-private-slash-slash -->
+<a href="foo:/bar.com/"></a><!-- scheme-private-path -->
+<a href="foo://///////"></a><!-- scheme-private-path-leading-slashes-only -->
+<a href="foo://///////bar.com/"></a><!-- scheme-private-path-leading-slashes-chars -->
+<a href="foo:////://///"></a><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<a href="c:/foo"></a><!-- scheme-private-single-letter -->
+<a href="madeupscheme:/example.com/"></a><!-- scheme-private-single-slash -->
+<a href="file:/example.com/"></a><!-- scheme-file-single-slash -->
+<a href="ftps:/example.com/"></a><!-- scheme-ftps-single-slash -->
+<a href="gopher:/example.com/"></a><!-- scheme-gopher-single-slash -->
+<a href="ws:/example.com/"></a><!-- scheme-ws-single-slash -->
+<a href="wss:/example.com/"></a><!-- scheme-wss-single-slash -->
+<a href="javascript:/example.com/"></a><!-- scheme-javascript-single-slash -->
+<a href="mailto:/example.com/"></a><!-- scheme-mailto-single-slash -->
+<a href="madeupscheme:example.com/"></a><!-- scheme-private-no-slash -->
+<a href="ftps:example.com/"></a><!-- scheme-ftps-no-slash -->
+<a href="gopher:example.com/"></a><!-- scheme-gopher-no-slash -->
+<a href="wss:example.com/"></a><!-- scheme-wss-no-slash -->
+<a href="mailto:example.com/"></a><!-- scheme-mailto-no-slash -->
+<a href="data:text/plain,foo"></a><!-- scheme-data-no-slash -->
+<a href="http://user:pass@foo:21/bar;par?b#c"></a><!-- userinfo -->
+<a href="http://[2001::1]"></a><!-- host-ipv6 -->
+<a href="http://[2001::1]:80"></a><!-- host-ipv6-port -->
+<a href="http://f:/c"></a><!-- port-none-but-colon -->
+<a href="http://f:0/c"></a><!-- port-0 -->
+<a href="http://f:00000000000000/c"></a><!-- port-00000000000000 -->
+<a href="http://f:00000000000000000000080/c"></a><!-- port-00000000000000000000080 -->
+<a href="http://a:b@c:29/d"></a><!-- userinfo-host-port-path -->
+<a href="http://foo.com:b@d/"></a><!-- userinfo-username-non-alpha -->
+<a href="http://foo/abcd?efgh?ijkl"></a><!-- query-contains-question-mark -->
+<a href="http://foo/abcd#foo?bar"></a><!-- fragment-contains-question-mark -->
+<a href="http://example.com/foo/%2e"></a><!-- path-percent-encoded-dot -->
+<a href="http://example.com/%20foo"></a><!-- path-percent-encoded-space -->
+<a href="http://example.com/©zbar"></a><!-- path-non-ascii -->
+<a href="http://example.com/foo%41%7a"></a><!-- path-percent-encoded-multiple -->
+<a href="http://example.com/foo%91"></a><!-- path-percent-encoded-u0091 -->
+<a href="http://example.com/foo%00"></a><!-- path-percent-encoded-u0000 -->
+<a href="http://example.com/%3A%3a%3C%3c"></a><!-- path-percent-encoded-mixed-case -->
+<a href="http://example.com/你好你好"></a><!-- path-unicode-han -->
+<a href="http://example.com//foo"></a><!-- path-uFEFF -->
+<a href="http://example.com/‮/foo/‭/bar"></a><!-- path-u202E-u202D -->
+<a href="http://💩"></a><!-- host-is-pile-of-poo -->
+<a href="http💩//:foo"></a><!-- path-contains-pile-of-poo -->
+<a href="http://example.com/foo?💩"></a><!-- query-contains-pile-of-poo -->
+<a href="http://example.com/foo#💩"></a><!-- fragment-contains-pile-of-poo -->
+<a href="http://192.0x00A80001"></a><!-- host-192.0x00A80001 -->
+<a href="http://%25DOMAIN:foobar@foodomain.com"></a><!-- userinfo-username-contains-percent-encoded -->
+<a href="http://@www.example.com"></a><!-- userinfo-empty -->
+<a href="http://:b@www.example.com"></a><!-- userinfo-user-empty -->
+<a href="http://a:@www.example.com"></a><!-- userinfo-password-empty -->
+<a href="http://GOO​⁠goo.com"></a><!-- host-exotic-whitespace -->
+<a href="http://www.foo。bar.com"></a><!-- host-exotic-dot -->
+<a href="http://Go.com"></a><!-- host-fullwidth -->
+<a href="http://你好你好"></a><!-- host-idn-unicode-han -->
+<a href="http://192.168.0.257/"></a><!-- host-IP-address-broken -->
+<a href="//foo/bar"></a><!-- scheme-schemeless-relative -->
+<a href="/"></a><!-- path-slash-only-relative -->
+<a href="/a/b/c"></a><!-- path-simple-relative -->
+<a href="/a%2fc"></a><!-- path-percent-encoded-slash-relative -->
+<a href="/a/%2f/c"></a><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<a href="?"></a><!-- query-empty-no-path-relative -->
+<a href="#"></a><!-- fragment-empty-hash-only-no-path-relative -->
+<a href="#/"></a><!-- fragment-slash-relative -->
+<a href="#;?"></a><!-- fragment-semicolon-question-mark-relative -->
+<a href="#β"></a><!-- fragment-non-ascii-relative -->
+<a href="foo.com"></a><!-- scheme-none-relative -->
+<a href=":"></a><!-- path-colon-relative -->
+<a href=":a"></a><!-- path-leading-colon-letter-relative -->
+<a href=":foo.com"></a><!-- path-leading-colon-chars-relative -->
+<a href=":/"></a><!-- path-leading-colon-slash-relative -->
+<a href=":#"></a><!-- path-leading-colon-hash-relative -->
+<a href=":23"></a><!-- path-leading-colon-number-relative -->
+<a href="/:23"></a><!-- path-slash-colon-number-relative -->
+<a href="::"></a><!-- path-leading-colon-colon-relative -->
+<a href="::23"></a><!-- path-colon-colon-number-relative -->
+<a href="💩http://foo"></a><!-- path-starts-with-pile-of-poo -->
+<a href="/💩"></a><!-- path-slash-pile-of-poo -->
+<a href="File://foo/bar.html"></a><!-- scheme-file-uppercase -->
+<a href="file://C|/foo/bar"></a><!-- scheme-file-slash-slash-c-bar -->
+<a href="file://server/foo/bar"></a><!-- scheme-file-host-included -->
+<a href="file:///foo/bar.txt"></a><!-- scheme-file-host-empty -->
+<a href="file:"></a><!-- scheme-file-scheme-only -->
+<a href="file:/"></a><!-- scheme-file-slash-only -->
+<a href="file://"></a><!-- scheme-file-slash-slash-only -->
+<a href="file:///"></a><!-- scheme-file-slash-slash-slash-only -->
+<a href="file:test"></a><!-- scheme-file-no-slash -->
+<a href=""></a><!-- empty-href -->