summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/video
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /testing/web-platform/tests/conformance-checkers/html/elements/video
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/elements/video')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html4
136 files changed, 725 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html
new file mode 100644
index 0000000000..4d49826832
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>video with flow content and flow parent</title>
+<div><video><p>foo</p></video></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html
new file mode 100644
index 0000000000..fa9af26197
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>video with flow content and phrasing parent</title>
+<span><video><p>foo</p></video></span>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html
new file mode 100644
index 0000000000..efd5238b69
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty poster is not valid</title>
+<video poster=""></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html
new file mode 100644
index 0000000000..effe0a3866
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid poster</title>
+<video poster="a:foo.com"></video><!-- scheme-private -->
+<video poster="foo:/"></video><!-- scheme-private-slash -->
+<video poster="foo://"></video><!-- scheme-private-slash-slash -->
+<video poster="foo:/bar.com/"></video><!-- scheme-private-path -->
+<video poster="foo://///////"></video><!-- scheme-private-path-leading-slashes-only -->
+<video poster="foo://///////bar.com/"></video><!-- scheme-private-path-leading-slashes-chars -->
+<video poster="foo:////://///"></video><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<video poster="c:/foo"></video><!-- scheme-private-single-letter -->
+<video poster="madeupscheme:/example.com/"></video><!-- scheme-private-single-slash -->
+<video poster="file:/example.com/"></video><!-- scheme-file-single-slash -->
+<video poster="ftps:/example.com/"></video><!-- scheme-ftps-single-slash -->
+<video poster="gopher:/example.com/"></video><!-- scheme-gopher-single-slash -->
+<video poster="ws:/example.com/"></video><!-- scheme-ws-single-slash -->
+<video poster="wss:/example.com/"></video><!-- scheme-wss-single-slash -->
+<video poster="javascript:/example.com/"></video><!-- scheme-javascript-single-slash -->
+<video poster="mailto:/example.com/"></video><!-- scheme-mailto-single-slash -->
+<video poster="madeupscheme:example.com/"></video><!-- scheme-private-no-slash -->
+<video poster="ftps:example.com/"></video><!-- scheme-ftps-no-slash -->
+<video poster="gopher:example.com/"></video><!-- scheme-gopher-no-slash -->
+<video poster="wss:example.com/"></video><!-- scheme-wss-no-slash -->
+<video poster="mailto:example.com/"></video><!-- scheme-mailto-no-slash -->
+<video poster="data:text/plain,foo"></video><!-- scheme-data-no-slash -->
+<video poster="http://user:pass@foo:21/bar;par?b#c"></video><!-- userinfo -->
+<video poster="http://[2001::1]"></video><!-- host-ipv6 -->
+<video poster="http://[2001::1]:80"></video><!-- host-ipv6-port -->
+<video poster="http://f:/c"></video><!-- port-none-but-colon -->
+<video poster="http://f:0/c"></video><!-- port-0 -->
+<video poster="http://f:00000000000000/c"></video><!-- port-00000000000000 -->
+<video poster="http://f:00000000000000000000080/c"></video><!-- port-00000000000000000000080 -->
+<video poster="http://a:b@c:29/d"></video><!-- userinfo-host-port-path -->
+<video poster="http://foo.com:b@d/"></video><!-- userinfo-username-non-alpha -->
+<video poster="http://foo/abcd?efgh?ijkl"></video><!-- query-contains-question-mark -->
+<video poster="http://foo/abcd#foo?bar"></video><!-- fragment-contains-question-mark -->
+<video poster="http://example.com/foo/%2e"></video><!-- path-percent-encoded-dot -->
+<video poster="http://example.com/%20foo"></video><!-- path-percent-encoded-space -->
+<video poster="http://example.com/©zbar"></video><!-- path-non-ascii -->
+<video poster="http://example.com/foo%41%7a"></video><!-- path-percent-encoded-multiple -->
+<video poster="http://example.com/foo%91"></video><!-- path-percent-encoded-u0091 -->
+<video poster="http://example.com/foo%00"></video><!-- path-percent-encoded-u0000 -->
+<video poster="http://example.com/%3A%3a%3C%3c"></video><!-- path-percent-encoded-mixed-case -->
+<video poster="http://example.com/你好你好"></video><!-- path-unicode-han -->
+<video poster="http://example.com//foo"></video><!-- path-uFEFF -->
+<video poster="http://example.com/‮/foo/‭/bar"></video><!-- path-u202E-u202D -->
+<video poster="http://💩"></video><!-- host-is-pile-of-poo -->
+<video poster="http💩//:foo"></video><!-- path-contains-pile-of-poo -->
+<video poster="http://example.com/foo?💩"></video><!-- query-contains-pile-of-poo -->
+<video poster="http://example.com/foo#💩"></video><!-- fragment-contains-pile-of-poo -->
+<video poster="http://192.0x00A80001"></video><!-- host-192.0x00A80001 -->
+<video poster="http://%25DOMAIN:foobar@foodomain.com"></video><!-- userinfo-username-contains-percent-encoded -->
+<video poster="http://@www.example.com"></video><!-- userinfo-empty -->
+<video poster="http://:b@www.example.com"></video><!-- userinfo-user-empty -->
+<video poster="http://a:@www.example.com"></video><!-- userinfo-password-empty -->
+<video poster="http://GOO​⁠goo.com"></video><!-- host-exotic-whitespace -->
+<video poster="http://www.foo。bar.com"></video><!-- host-exotic-dot -->
+<video poster="http://Go.com"></video><!-- host-fullwidth -->
+<video poster="http://你好你好"></video><!-- host-idn-unicode-han -->
+<video poster="http://192.168.0.257/"></video><!-- host-IP-address-broken -->
+<video poster="//foo/bar"></video><!-- scheme-schemeless-relative -->
+<video poster="/"></video><!-- path-slash-only-relative -->
+<video poster="/a/b/c"></video><!-- path-simple-relative -->
+<video poster="/a%2fc"></video><!-- path-percent-encoded-slash-relative -->
+<video poster="/a/%2f/c"></video><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<video poster="?"></video><!-- query-empty-no-path-relative -->
+<video poster="#"></video><!-- fragment-empty-hash-only-no-path-relative -->
+<video poster="#/"></video><!-- fragment-slash-relative -->
+<video poster="#;?"></video><!-- fragment-semicolon-question-mark-relative -->
+<video poster="#β"></video><!-- fragment-non-ascii-relative -->
+<video poster="foo.com"></video><!-- scheme-none-relative -->
+<video poster=":"></video><!-- path-colon-relative -->
+<video poster=":a"></video><!-- path-leading-colon-letter-relative -->
+<video poster=":foo.com"></video><!-- path-leading-colon-chars-relative -->
+<video poster=":/"></video><!-- path-leading-colon-slash-relative -->
+<video poster=":#"></video><!-- path-leading-colon-hash-relative -->
+<video poster=":23"></video><!-- path-leading-colon-number-relative -->
+<video poster="/:23"></video><!-- path-slash-colon-number-relative -->
+<video poster="::"></video><!-- path-leading-colon-colon-relative -->
+<video poster="::23"></video><!-- path-colon-colon-number-relative -->
+<video poster="💩http://foo"></video><!-- path-starts-with-pile-of-poo -->
+<video poster="/💩"></video><!-- path-slash-pile-of-poo -->
+<video poster="File://foo/bar.html"></video><!-- scheme-file-uppercase -->
+<video poster="file://C|/foo/bar"></video><!-- scheme-file-slash-slash-c-bar -->
+<video poster="file://server/foo/bar"></video><!-- scheme-file-host-included -->
+<video poster="file:///foo/bar.txt"></video><!-- scheme-file-host-empty -->
+<video poster="file:"></video><!-- scheme-file-scheme-only -->
+<video poster="file:/"></video><!-- scheme-file-slash-only -->
+<video poster="file://"></video><!-- scheme-file-slash-slash-only -->
+<video poster="file:///"></video><!-- scheme-file-slash-slash-slash-only -->
+<video poster="file:test"></video><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html
new file mode 100644
index 0000000000..b53bf19026
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty poster is not valid</title>
+<video poster="
+"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..e2d9764e37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: fragment-backslash</title>
+<video poster="#\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..cb01ae009f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: fragment-contains-hash</title>
+<video poster="http://foo/path#f#g"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..8bf3631bfb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: fragment-leading-space</title>
+<video poster="http://f:21/b# e"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html
new file mode 100644
index 0000000000..8e7cd1af04
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-cr</title>
+<video poster="http://example. org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..e3c4eafc65
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-double-percent-encoded</title>
+<video poster="http://%41.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..34f58f6fa5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-double-percent-encoded-percent-encoded</title>
+<video poster="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html
new file mode 100644
index 0000000000..704af4b76a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-empty</title>
+<video poster="http://"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..896ed88500
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-empty-userinfo-empty</title>
+<video poster="http://@/www.example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..2ac4d5f7f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-empty-with-userinfo</title>
+<video poster="http://user:pass@/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..5458f16e65
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-hostname-in-brackets</title>
+<video poster="http://[www.google.com]/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..c8f206dde3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-invalid-unicode</title>
+<video poster="http://﷐zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..b891644888
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-invalid-unicode-percent-encoded</title>
+<video poster="http://%ef%b7%90zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html
new file mode 100644
index 0000000000..de25e97766
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-newline</title>
+<video poster="http://example.
+org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html
new file mode 100644
index 0000000000..1e35a2f962
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-space</title>
+<video poster="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..094eec8770
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-square-brackets-port-contains-colon</title>
+<video poster="http://[1::2]:3:4"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html
new file mode 100644
index 0000000000..c5455bee11
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-tab</title>
+<video poster="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..81c2776382
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-u0000-percent-encoded</title>
+<video poster="http://%00.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..34ccb2844a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-u0000-percent-encoded-percent-encoded</title>
+<video poster="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..170314bbe5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-bare-percent-sign</title>
+<video poster="http://example.com/foo%"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html
new file mode 100644
index 0000000000..e17733c2eb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-contains-space</title>
+<video poster="/a/ /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..83d43d2b4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-backslash-at-sign</title>
+<video poster="http://foo.com/\@"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..a0a8c6c52a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-colon-backslash</title>
+<video poster=":\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..5e63c1b4d6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-colon-chars-backslash</title>
+<video poster=":foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html
new file mode 100644
index 0000000000..e738c1feb1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-space</title>
+<video poster="http://f:21/ b"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..1c211fd4ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-percent-encoded-malformed</title>
+<video poster="http://example.com/foo/%2e%2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..786f91dac1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-relative-square-brackets</title>
+<video poster="[61:24:74]:98"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html
new file mode 100644
index 0000000000..bb9fc12b17
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-tab</title>
+<video poster="http://example.com/foo bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..f66866c8fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-trailing-space</title>
+<video poster="http://f:21/b ?"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html
new file mode 100644
index 0000000000..360426c3a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-u0091</title>
+<video poster="http://example.com/foo‘"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html
new file mode 100644
index 0000000000..9ceec19628
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-999999</title>
+<video poster="http://f:999999/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html
new file mode 100644
index 0000000000..28796729d7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-cr</title>
+<video poster="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..b5b6bef5c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-leading-colon-bracket-colon</title>
+<video poster="http://2001::1]:80"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..bd5c281016
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-leading-colon</title>
+<video poster="http://2001::1"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..354fe3103d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-leading-dash</title>
+<video poster="http://foo:-80/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..04a2cf18e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-multiple-letters</title>
+<video poster="http://f:fifty-two/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html
new file mode 100644
index 0000000000..1634a10e0b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-newline</title>
+<video poster="http://f:
+/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html
new file mode 100644
index 0000000000..8b95dcc647
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-single-letter</title>
+<video poster="http://f:b/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html
new file mode 100644
index 0000000000..6164a9206f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-space</title>
+<video poster="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html
new file mode 100644
index 0000000000..5dbbdd5b4f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-tab</title>
+<video poster="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html
new file mode 100644
index 0000000000..e465e950b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: query-leading-space</title>
+<video poster="http://f:21/b? d"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..640e399720
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: query-trailing-space</title>
+<video poster="http://f:21/b?d #"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..4207e1babe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>data:text/html,test#test warning: scheme-data-contains-fragment</title>
+<video poster="data:text/html,test#test"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..61a3376e10
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-data-single-slash</title>
+<video poster="data:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..2d2a13b1a5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-file-backslash</title>
+<video poster="file:c:\foo\bar.html"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..f6b4897d97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-file-single-slash-c-bar</title>
+<video poster="file:/C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..c339707f61
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-file-slash-slash-abc-bar</title>
+<video poster="file://abc|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..40b21e03ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-file-triple-slash-c-bar</title>
+<video poster="file:///C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..b06cd92de3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-ftp-no-slash</title>
+<video poster="ftp:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..2db8cbb1d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-ftp-single-slash</title>
+<video poster="ftp:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..82223ebe18
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-backslash</title>
+<video poster="http:\\foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..cb9cb51916
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-no-slash-colon</title>
+<video poster="http::@c:29"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..a55b66b5a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-no-slash</title>
+<video poster="http:foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..53028e1ea3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-no-slash-square-bracket</title>
+<video poster="http:[61:27]/:foo"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..e21f10cb92
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-single-slash</title>
+<video poster="http:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..103a89e3e2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-https-no-slash</title>
+<video poster="https:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..0c2002984d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-https-single-slash</title>
+<video poster="https:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..7ab4fd9533
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-cr</title>
+<video poster="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..e411aa2956
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-newline</title>
+<video poster="a:
+foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..8018630da5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-space</title>
+<video poster="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..176164f8f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-tab</title>
+<video poster="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..5842693077
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-backslash</title>
+<video poster="http://a\b:c\d@foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..a4afc95e89
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-password-bad-chars</title>
+<video poster="http://&a:foo(b]c@d:2/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..4948ef6dad
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-password-contains-pile-of-poo</title>
+<video poster="http://foo:💩@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..c0527bc19a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-username-contains-at-sign</title>
+<video poster="http://::@c@d:2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..0275ab7e67
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-username-contains-pile-of-poo</title>
+<video poster="http://💩:foo@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html
new file mode 100644
index 0000000000..6053f99466
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<video src="a:foo.com"></video><!-- scheme-private -->
+<video src="foo:/"></video><!-- scheme-private-slash -->
+<video src="foo://"></video><!-- scheme-private-slash-slash -->
+<video src="foo:/bar.com/"></video><!-- scheme-private-path -->
+<video src="foo://///////"></video><!-- scheme-private-path-leading-slashes-only -->
+<video src="foo://///////bar.com/"></video><!-- scheme-private-path-leading-slashes-chars -->
+<video src="foo:////://///"></video><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<video src="c:/foo"></video><!-- scheme-private-single-letter -->
+<video src="madeupscheme:/example.com/"></video><!-- scheme-private-single-slash -->
+<video src="file:/example.com/"></video><!-- scheme-file-single-slash -->
+<video src="ftps:/example.com/"></video><!-- scheme-ftps-single-slash -->
+<video src="gopher:/example.com/"></video><!-- scheme-gopher-single-slash -->
+<video src="ws:/example.com/"></video><!-- scheme-ws-single-slash -->
+<video src="wss:/example.com/"></video><!-- scheme-wss-single-slash -->
+<video src="javascript:/example.com/"></video><!-- scheme-javascript-single-slash -->
+<video src="mailto:/example.com/"></video><!-- scheme-mailto-single-slash -->
+<video src="madeupscheme:example.com/"></video><!-- scheme-private-no-slash -->
+<video src="ftps:example.com/"></video><!-- scheme-ftps-no-slash -->
+<video src="gopher:example.com/"></video><!-- scheme-gopher-no-slash -->
+<video src="wss:example.com/"></video><!-- scheme-wss-no-slash -->
+<video src="mailto:example.com/"></video><!-- scheme-mailto-no-slash -->
+<video src="data:text/plain,foo"></video><!-- scheme-data-no-slash -->
+<video src="http://user:pass@foo:21/bar;par?b#c"></video><!-- userinfo -->
+<video src="http://[2001::1]"></video><!-- host-ipv6 -->
+<video src="http://[2001::1]:80"></video><!-- host-ipv6-port -->
+<video src="http://f:/c"></video><!-- port-none-but-colon -->
+<video src="http://f:0/c"></video><!-- port-0 -->
+<video src="http://f:00000000000000/c"></video><!-- port-00000000000000 -->
+<video src="http://f:00000000000000000000080/c"></video><!-- port-00000000000000000000080 -->
+<video src="http://a:b@c:29/d"></video><!-- userinfo-host-port-path -->
+<video src="http://foo.com:b@d/"></video><!-- userinfo-username-non-alpha -->
+<video src="http://foo/abcd?efgh?ijkl"></video><!-- query-contains-question-mark -->
+<video src="http://foo/abcd#foo?bar"></video><!-- fragment-contains-question-mark -->
+<video src="http://example.com/foo/%2e"></video><!-- path-percent-encoded-dot -->
+<video src="http://example.com/%20foo"></video><!-- path-percent-encoded-space -->
+<video src="http://example.com/©zbar"></video><!-- path-non-ascii -->
+<video src="http://example.com/foo%41%7a"></video><!-- path-percent-encoded-multiple -->
+<video src="http://example.com/foo%91"></video><!-- path-percent-encoded-u0091 -->
+<video src="http://example.com/foo%00"></video><!-- path-percent-encoded-u0000 -->
+<video src="http://example.com/%3A%3a%3C%3c"></video><!-- path-percent-encoded-mixed-case -->
+<video src="http://example.com/你好你好"></video><!-- path-unicode-han -->
+<video src="http://example.com//foo"></video><!-- path-uFEFF -->
+<video src="http://example.com/‮/foo/‭/bar"></video><!-- path-u202E-u202D -->
+<video src="http://💩"></video><!-- host-is-pile-of-poo -->
+<video src="http💩//:foo"></video><!-- path-contains-pile-of-poo -->
+<video src="http://example.com/foo?💩"></video><!-- query-contains-pile-of-poo -->
+<video src="http://example.com/foo#💩"></video><!-- fragment-contains-pile-of-poo -->
+<video src="http://192.0x00A80001"></video><!-- host-192.0x00A80001 -->
+<video src="http://%25DOMAIN:foobar@foodomain.com"></video><!-- userinfo-username-contains-percent-encoded -->
+<video src="http://@www.example.com"></video><!-- userinfo-empty -->
+<video src="http://:b@www.example.com"></video><!-- userinfo-user-empty -->
+<video src="http://a:@www.example.com"></video><!-- userinfo-password-empty -->
+<video src="http://GOO​⁠goo.com"></video><!-- host-exotic-whitespace -->
+<video src="http://www.foo。bar.com"></video><!-- host-exotic-dot -->
+<video src="http://Go.com"></video><!-- host-fullwidth -->
+<video src="http://你好你好"></video><!-- host-idn-unicode-han -->
+<video src="http://192.168.0.257/"></video><!-- host-IP-address-broken -->
+<video src="//foo/bar"></video><!-- scheme-schemeless-relative -->
+<video src="/"></video><!-- path-slash-only-relative -->
+<video src="/a/b/c"></video><!-- path-simple-relative -->
+<video src="/a%2fc"></video><!-- path-percent-encoded-slash-relative -->
+<video src="/a/%2f/c"></video><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<video src="?"></video><!-- query-empty-no-path-relative -->
+<video src="#"></video><!-- fragment-empty-hash-only-no-path-relative -->
+<video src="#/"></video><!-- fragment-slash-relative -->
+<video src="#;?"></video><!-- fragment-semicolon-question-mark-relative -->
+<video src="#β"></video><!-- fragment-non-ascii-relative -->
+<video src="foo.com"></video><!-- scheme-none-relative -->
+<video src=":"></video><!-- path-colon-relative -->
+<video src=":a"></video><!-- path-leading-colon-letter-relative -->
+<video src=":foo.com"></video><!-- path-leading-colon-chars-relative -->
+<video src=":/"></video><!-- path-leading-colon-slash-relative -->
+<video src=":#"></video><!-- path-leading-colon-hash-relative -->
+<video src=":23"></video><!-- path-leading-colon-number-relative -->
+<video src="/:23"></video><!-- path-slash-colon-number-relative -->
+<video src="::"></video><!-- path-leading-colon-colon-relative -->
+<video src="::23"></video><!-- path-colon-colon-number-relative -->
+<video src="💩http://foo"></video><!-- path-starts-with-pile-of-poo -->
+<video src="/💩"></video><!-- path-slash-pile-of-poo -->
+<video src="File://foo/bar.html"></video><!-- scheme-file-uppercase -->
+<video src="file://C|/foo/bar"></video><!-- scheme-file-slash-slash-c-bar -->
+<video src="file://server/foo/bar"></video><!-- scheme-file-host-included -->
+<video src="file:///foo/bar.txt"></video><!-- scheme-file-host-empty -->
+<video src="file:"></video><!-- scheme-file-scheme-only -->
+<video src="file:/"></video><!-- scheme-file-slash-only -->
+<video src="file://"></video><!-- scheme-file-slash-slash-only -->
+<video src="file:///"></video><!-- scheme-file-slash-slash-slash-only -->
+<video src="file:test"></video><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..ee68bff3d9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<video src="#\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..b9d870a9ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<video src="http://foo/path#f#g"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..4b15521603
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<video src="http://f:21/b# e"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html
new file mode 100644
index 0000000000..961ef7768d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<video src="http://example. org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..920ee8a546
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<video src="http://%41.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..4134e80de8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<video src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html
new file mode 100644
index 0000000000..816c3742d2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<video src="http://"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..34f65d1a84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<video src="http://@/www.example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..95dfb6f5b2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<video src="http://user:pass@/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..0768743f4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<video src="http://[www.google.com]/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..9508562d7b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<video src="http://﷐zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..b29836ab97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<video src="http://%ef%b7%90zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html
new file mode 100644
index 0000000000..41537aeaca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<video src="http://example.
+org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html
new file mode 100644
index 0000000000..f480f32c5c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<video src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..447a2aa614
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<video src="http://[1::2]:3:4"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html
new file mode 100644
index 0000000000..4076b232c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<video src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..549297e189
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<video src="http://%00.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..8041f2d781
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<video src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..d9c3ee5718
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<video src="http://example.com/foo%"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html
new file mode 100644
index 0000000000..9d5e0c7994
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<video src="/a/ /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..99bea08254
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<video src="http://foo.com/\@"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..a6c02e7d68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<video src=":\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..d16c250a86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<video src=":foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html
new file mode 100644
index 0000000000..72d3eb00fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<video src="http://f:21/ b"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..d4a76d67ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<video src="http://example.com/foo/%2e%2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..70e5f34d69
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<video src="[61:24:74]:98"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html
new file mode 100644
index 0000000000..9600b35c9b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<video src="http://example.com/foo bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..8d778ed212
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<video src="http://f:21/b ?"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html
new file mode 100644
index 0000000000..3a8729e2e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<video src="http://example.com/foo‘"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html
new file mode 100644
index 0000000000..e877d815b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<video src="http://f:999999/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html
new file mode 100644
index 0000000000..c2ccfb0960
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<video src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..e5fb232d4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<video src="http://2001::1]:80"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..96e191517d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<video src="http://2001::1"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..fe6f633d4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<video src="http://foo:-80/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..3adbe71514
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<video src="http://f:fifty-two/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html
new file mode 100644
index 0000000000..8537b67379
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<video src="http://f:
+/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html
new file mode 100644
index 0000000000..e26c266056
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<video src="http://f:b/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html
new file mode 100644
index 0000000000..a64478c873
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<video src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html
new file mode 100644
index 0000000000..06a2197333
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<video src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html
new file mode 100644
index 0000000000..7fadece7cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<video src="http://f:21/b? d"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..c63758bf84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<video src="http://f:21/b?d #"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..b0e34b8fcc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>data:text/html,test#test warning: scheme-data-contains-fragment</title>
+<video src="data:text/html,test#test"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..8d8dae7125
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<video src="data:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..e8901f2c76
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<video src="file:c:\foo\bar.html"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..4b0da95095
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<video src="file:/C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..34caa671c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-slash-slash-abc-bar</title>
+<video src="file://abc|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..24955ef06f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<video src="file:///C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..5667bea15a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<video src="ftp:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..e9dcf201b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<video src="ftp:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..6809d90d1b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<video src="http:\\foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..e519b030b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<video src="http::@c:29"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..4b8d317775
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<video src="http:foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..7251562c46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<video src="http:[61:27]/:foo"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..33f3518fcd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<video src="http:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..c80331a6e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<video src="https:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..876011ec09
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<video src="https:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..bb0a0de900
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<video src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..01bb310f91
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<video src="a:
+foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..6149a4df2b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<video src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..4285fea135
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<video src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..c18402881c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<video src="http://a\b:c\d@foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..0f34b9ec29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<video src="http://&a:foo(b]c@d:2/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..971c1f0eba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<video src="http://foo:💩@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..a3d5736d1e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<video src="http://::@c@d:2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..d3cc8e1abb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<video src="http://💩:foo@example.com"></video>