summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/img
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/elements/img')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html31
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html33
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html10
74 files changed, 460 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html
new file mode 100644
index 0000000000..b0c7b33f02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;img&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><a href='foo'><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ ismap="ismap"
+ class="class"
+ lang="en"></a></p>
+
+ <!-- is strictly inline -->
+ <p><a href='foo'><dfn><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ ismap="ismap"
+ class="class"
+ lang="en"></dfn></a></p>
+
+ <!-- src and alt are required, others optional -->
+ <p><img src="ur" alt="text"></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html
new file mode 100644
index 0000000000..d16a806416
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;img&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ usemap="url"
+ ismap="ismap"
+ class="class"
+ lang="en"></img></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ usemap="url"
+ ismap="ismap"
+ class="class"
+ lang="en"></img></dfn></p>
+
+ <!-- src and alt are required, others optional -->
+ <p><img src="ur" alt="text"></img></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html
new file mode 100644
index 0000000000..d585907509
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<img src="" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html
new file mode 100644
index 0000000000..66474dbf5d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<img src="a:foo.com" alt><!-- scheme-private -->
+<img src="foo:/" alt><!-- scheme-private-slash -->
+<img src="foo://" alt><!-- scheme-private-slash-slash -->
+<img src="foo:/bar.com/" alt><!-- scheme-private-path -->
+<img src="foo://///////" alt><!-- scheme-private-path-leading-slashes-only -->
+<img src="foo://///////bar.com/" alt><!-- scheme-private-path-leading-slashes-chars -->
+<img src="foo:////://///" alt><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<img src="c:/foo" alt><!-- scheme-private-single-letter -->
+<img src="madeupscheme:/example.com/" alt><!-- scheme-private-single-slash -->
+<img src="file:/example.com/" alt><!-- scheme-file-single-slash -->
+<img src="ftps:/example.com/" alt><!-- scheme-ftps-single-slash -->
+<img src="gopher:/example.com/" alt><!-- scheme-gopher-single-slash -->
+<img src="ws:/example.com/" alt><!-- scheme-ws-single-slash -->
+<img src="wss:/example.com/" alt><!-- scheme-wss-single-slash -->
+<img src="javascript:/example.com/" alt><!-- scheme-javascript-single-slash -->
+<img src="mailto:/example.com/" alt><!-- scheme-mailto-single-slash -->
+<img src="madeupscheme:example.com/" alt><!-- scheme-private-no-slash -->
+<img src="ftps:example.com/" alt><!-- scheme-ftps-no-slash -->
+<img src="gopher:example.com/" alt><!-- scheme-gopher-no-slash -->
+<img src="wss:example.com/" alt><!-- scheme-wss-no-slash -->
+<img src="mailto:example.com/" alt><!-- scheme-mailto-no-slash -->
+<img src="data:text/plain,foo" alt><!-- scheme-data-no-slash -->
+<img src="http://user:pass@foo:21/bar;par?b#c" alt><!-- userinfo -->
+<img src="http://[2001::1]" alt><!-- host-ipv6 -->
+<img src="http://[2001::1]:80" alt><!-- host-ipv6-port -->
+<img src="http://f:/c" alt><!-- port-none-but-colon -->
+<img src="http://f:0/c" alt><!-- port-0 -->
+<img src="http://f:00000000000000/c" alt><!-- port-00000000000000 -->
+<img src="http://f:00000000000000000000080/c" alt><!-- port-00000000000000000000080 -->
+<img src="http://a:b@c:29/d" alt><!-- userinfo-host-port-path -->
+<img src="http://foo.com:b@d/" alt><!-- userinfo-username-non-alpha -->
+<img src="http://foo/abcd?efgh?ijkl" alt><!-- query-contains-question-mark -->
+<img src="http://foo/abcd#foo?bar" alt><!-- fragment-contains-question-mark -->
+<img src="http://example.com/foo/%2e" alt><!-- path-percent-encoded-dot -->
+<img src="http://example.com/%20foo" alt><!-- path-percent-encoded-space -->
+<img src="http://example.com/©zbar" alt><!-- path-non-ascii -->
+<img src="http://example.com/foo%41%7a" alt><!-- path-percent-encoded-multiple -->
+<img src="http://example.com/foo%91" alt><!-- path-percent-encoded-u0091 -->
+<img src="http://example.com/foo%00" alt><!-- path-percent-encoded-u0000 -->
+<img src="http://example.com/%3A%3a%3C%3c" alt><!-- path-percent-encoded-mixed-case -->
+<img src="http://example.com/你好你好" alt><!-- path-unicode-han -->
+<img src="http://example.com//foo" alt><!-- path-uFEFF -->
+<img src="http://example.com/‮/foo/‭/bar" alt><!-- path-u202E-u202D -->
+<img src="http://💩" alt><!-- host-is-pile-of-poo -->
+<img src="http💩//:foo" alt><!-- path-contains-pile-of-poo -->
+<img src="http://example.com/foo?💩" alt><!-- query-contains-pile-of-poo -->
+<img src="http://example.com/foo#💩" alt><!-- fragment-contains-pile-of-poo -->
+<img src="http://192.0x00A80001" alt><!-- host-192.0x00A80001 -->
+<img src="http://%25DOMAIN:foobar@foodomain.com" alt><!-- userinfo-username-contains-percent-encoded -->
+<img src="http://@www.example.com" alt><!-- userinfo-empty -->
+<img src="http://:b@www.example.com" alt><!-- userinfo-user-empty -->
+<img src="http://a:@www.example.com" alt><!-- userinfo-password-empty -->
+<img src="http://GOO​⁠goo.com" alt><!-- host-exotic-whitespace -->
+<img src="http://www.foo。bar.com" alt><!-- host-exotic-dot -->
+<img src="http://Go.com" alt><!-- host-fullwidth -->
+<img src="http://你好你好" alt><!-- host-idn-unicode-han -->
+<img src="http://192.168.0.257/" alt><!-- host-IP-address-broken -->
+<img src="//foo/bar" alt><!-- scheme-schemeless-relative -->
+<img src="/" alt><!-- path-slash-only-relative -->
+<img src="/a/b/c" alt><!-- path-simple-relative -->
+<img src="/a%2fc" alt><!-- path-percent-encoded-slash-relative -->
+<img src="/a/%2f/c" alt><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<img src="?" alt><!-- query-empty-no-path-relative -->
+<img src="#" alt><!-- fragment-empty-hash-only-no-path-relative -->
+<img src="#/" alt><!-- fragment-slash-relative -->
+<img src="#;?" alt><!-- fragment-semicolon-question-mark-relative -->
+<img src="#β" alt><!-- fragment-non-ascii-relative -->
+<img src="foo.com" alt><!-- scheme-none-relative -->
+<img src=":" alt><!-- path-colon-relative -->
+<img src=":a" alt><!-- path-leading-colon-letter-relative -->
+<img src=":foo.com" alt><!-- path-leading-colon-chars-relative -->
+<img src=":/" alt><!-- path-leading-colon-slash-relative -->
+<img src=":#" alt><!-- path-leading-colon-hash-relative -->
+<img src=":23" alt><!-- path-leading-colon-number-relative -->
+<img src="/:23" alt><!-- path-slash-colon-number-relative -->
+<img src="::" alt><!-- path-leading-colon-colon-relative -->
+<img src="::23" alt><!-- path-colon-colon-number-relative -->
+<img src="💩http://foo" alt><!-- path-starts-with-pile-of-poo -->
+<img src="/💩" alt><!-- path-slash-pile-of-poo -->
+<img src="File://foo/bar.html" alt><!-- scheme-file-uppercase -->
+<img src="file://C|/foo/bar" alt><!-- scheme-file-slash-slash-c-bar -->
+<img src="file://server/foo/bar" alt><!-- scheme-file-host-included -->
+<img src="file:///foo/bar.txt" alt><!-- scheme-file-host-empty -->
+<img src="file:" alt><!-- scheme-file-scheme-only -->
+<img src="file:/" alt><!-- scheme-file-slash-only -->
+<img src="file://" alt><!-- scheme-file-slash-slash-only -->
+<img src="file:///" alt><!-- scheme-file-slash-slash-slash-only -->
+<img src="file:test" alt><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html
new file mode 100644
index 0000000000..cc0140808f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<img src="
+" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..f54d6cbadd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<img src="#\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..59829cfee4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<img src="http://foo/path#f#g" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..c7420ec545
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<img src="http://f:21/b# e" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html
new file mode 100644
index 0000000000..2b14d6bda3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<img src="http://example. org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..d0fcc7336c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://%41.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..6be9a8a4f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html
new file mode 100644
index 0000000000..41191edb5a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<img src="http://" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..8f02f8e9c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://@/www.example.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..b0b86cc303
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://user:pass@/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..f17042f721
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://[www.google.com]/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..37d687ab5f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<img src="http://﷐zyx.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..7d905ea3b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://%ef%b7%90zyx.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html
new file mode 100644
index 0000000000..10bb356b35
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<img src="http://example.
+org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html
new file mode 100644
index 0000000000..633ea951b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<img src="http://example .org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..e37c9070fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://[1::2]:3:4" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html
new file mode 100644
index 0000000000..c2b47937a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<img src="http://example .org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..524834a947
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://%00.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..2b19cb8626
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..368e940411
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://example.com/foo%" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html
new file mode 100644
index 0000000000..7b1da54cb5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<img src="/a/ /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..ded9f27fc6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://foo.com/\@" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..7bebfa8b67
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src=":\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..f1fe58ebdb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src=":foo.com\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html
new file mode 100644
index 0000000000..c1fc4d0b7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<img src="http://f:21/ b" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..62bb73054d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://example.com/foo/%2e%2" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..da8bcd7257
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="[61:24:74]:98" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html
new file mode 100644
index 0000000000..42e555e683
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<img src="http://example.com/foo bar" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..98812cb9a6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<img src="http://f:21/b ?" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html
new file mode 100644
index 0000000000..a15047c3ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<img src="http://example.com/foo‘" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html
new file mode 100644
index 0000000000..0c7d01801d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<img src="http://f:999999/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html
new file mode 100644
index 0000000000..49e6a1a0a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<img src="http://f: /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..6d7233039f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://2001::1]:80" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..75eba0ea32
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<img src="http://2001::1" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..9a66f5a411
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<img src="http://foo:-80/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..fcb6e959f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<img src="http://f:fifty-two/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html
new file mode 100644
index 0000000000..3d59a2e4bc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<img src="http://f:
+/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html
new file mode 100644
index 0000000000..1ba9df25c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<img src="http://f:b/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html
new file mode 100644
index 0000000000..e59cda369a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<img src="http://f: /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html
new file mode 100644
index 0000000000..9ae34b348e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<img src="http://f: /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html
new file mode 100644
index 0000000000..896fd99b3c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<img src="http://f:21/b? d" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..ac079b454f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<img src="http://f:21/b?d #" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..964cdce93f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>src warning: scheme-data-contains-fragment</title>
+<img src="data:text/html,test#test" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..d5e0ae53eb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="data:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..efb0fa5d77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<img src="file:c:\foo\bar.html" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..61a7697e3d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="file:/C|/foo/bar" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..b4196f42ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="file://abc|/foo/bar" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..15120451d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="file:///C|/foo/bar" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..3c2e7439ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="ftp:example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..f3218f03d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="ftp:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..fa2a92173a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<img src="http:\\foo.com\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..16c9fa05a2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http::@c:29" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..0554f086c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http:foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..518ba415f2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http:[61:27]/:foo" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..1c1ba05e0e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..4057a3fa90
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="https:example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..00d028cab0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="https:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..c50d3ac163
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<img src="a: foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..ee97e7af19
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<img src="a:
+foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..f1f6b75723
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<img src="a: foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..5649c226cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<img src="a: foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..5d5a271ea6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<img src="http://a\b:c\d@foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..6bd0affb48
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://&a:foo(b]c@d:2/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..78873928f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://foo:💩@example.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..2e2002a49a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://::@c@d:2" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..306ea7782e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/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>
+<img src="http://💩:foo@example.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html
new file mode 100644
index 0000000000..708878a307
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>usemap="#"</title>There should be an error.<img src="foo" alt="" usemap="#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html
new file mode 100644
index 0000000000..0e165c8c54
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;img&gt; with usemap attribute</title>
+</head>
+<body>
+ <map name="foo"></map>
+ <p><img src="url" usemap="#foo" alt="bar"></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html
new file mode 100644
index 0000000000..32b46d7cff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>valid width and height</title>
+</head>
+<body>
+<img src="url" width="0" height="0" alt="bar"><!-- img with 0 value for width and height -->
+<img src="url" width="10" height="10" alt="bar"><!-- img with positive values for width and height -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html
new file mode 100644
index 0000000000..d324106f11
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>img with negative values for width and height</title>
+</head>
+<body>
+<img src="url" width="-1" height="-1">
+</body>
+</html>