summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/button
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/elements/button')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html4
68 files changed, 363 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html
new file mode 100644
index 0000000000..7c324e5f1f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<button formaction=""></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html
new file mode 100644
index 0000000000..f2affb4a34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid formaction</title>
+<button formaction="a:foo.com"></button><!-- scheme-private -->
+<button formaction="foo:/"></button><!-- scheme-private-slash -->
+<button formaction="foo://"></button><!-- scheme-private-slash-slash -->
+<button formaction="foo:/bar.com/"></button><!-- scheme-private-path -->
+<button formaction="foo://///////"></button><!-- scheme-private-path-leading-slashes-only -->
+<button formaction="foo://///////bar.com/"></button><!-- scheme-private-path-leading-slashes-chars -->
+<button formaction="foo:////://///"></button><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<button formaction="c:/foo"></button><!-- scheme-private-single-letter -->
+<button formaction="madeupscheme:/example.com/"></button><!-- scheme-private-single-slash -->
+<button formaction="file:/example.com/"></button><!-- scheme-file-single-slash -->
+<button formaction="ftps:/example.com/"></button><!-- scheme-ftps-single-slash -->
+<button formaction="gopher:/example.com/"></button><!-- scheme-gopher-single-slash -->
+<button formaction="ws:/example.com/"></button><!-- scheme-ws-single-slash -->
+<button formaction="wss:/example.com/"></button><!-- scheme-wss-single-slash -->
+<button formaction="javascript:/example.com/"></button><!-- scheme-javascript-single-slash -->
+<button formaction="mailto:/example.com/"></button><!-- scheme-mailto-single-slash -->
+<button formaction="madeupscheme:example.com/"></button><!-- scheme-private-no-slash -->
+<button formaction="ftps:example.com/"></button><!-- scheme-ftps-no-slash -->
+<button formaction="gopher:example.com/"></button><!-- scheme-gopher-no-slash -->
+<button formaction="wss:example.com/"></button><!-- scheme-wss-no-slash -->
+<button formaction="mailto:example.com/"></button><!-- scheme-mailto-no-slash -->
+<button formaction="data:text/plain,foo"></button><!-- scheme-data-no-slash -->
+<button formaction="http://user:pass@foo:21/bar;par?b#c"></button><!-- userinfo -->
+<button formaction="http://[2001::1]"></button><!-- host-ipv6 -->
+<button formaction="http://[2001::1]:80"></button><!-- host-ipv6-port -->
+<button formaction="http://f:/c"></button><!-- port-none-but-colon -->
+<button formaction="http://f:0/c"></button><!-- port-0 -->
+<button formaction="http://f:00000000000000/c"></button><!-- port-00000000000000 -->
+<button formaction="http://f:00000000000000000000080/c"></button><!-- port-00000000000000000000080 -->
+<button formaction="http://a:b@c:29/d"></button><!-- userinfo-host-port-path -->
+<button formaction="http://foo.com:b@d/"></button><!-- userinfo-username-non-alpha -->
+<button formaction="http://foo/abcd?efgh?ijkl"></button><!-- query-contains-question-mark -->
+<button formaction="http://foo/abcd#foo?bar"></button><!-- fragment-contains-question-mark -->
+<button formaction="http://example.com/foo/%2e"></button><!-- path-percent-encoded-dot -->
+<button formaction="http://example.com/%20foo"></button><!-- path-percent-encoded-space -->
+<button formaction="http://example.com/©zbar"></button><!-- path-non-ascii -->
+<button formaction="http://example.com/foo%41%7a"></button><!-- path-percent-encoded-multiple -->
+<button formaction="http://example.com/foo%91"></button><!-- path-percent-encoded-u0091 -->
+<button formaction="http://example.com/foo%00"></button><!-- path-percent-encoded-u0000 -->
+<button formaction="http://example.com/%3A%3a%3C%3c"></button><!-- path-percent-encoded-mixed-case -->
+<button formaction="http://example.com/你好你好"></button><!-- path-unicode-han -->
+<button formaction="http://example.com//foo"></button><!-- path-uFEFF -->
+<button formaction="http://example.com/‮/foo/‭/bar"></button><!-- path-u202E-u202D -->
+<button formaction="http://💩"></button><!-- host-is-pile-of-poo -->
+<button formaction="http💩//:foo"></button><!-- path-contains-pile-of-poo -->
+<button formaction="http://example.com/foo?💩"></button><!-- query-contains-pile-of-poo -->
+<button formaction="http://example.com/foo#💩"></button><!-- fragment-contains-pile-of-poo -->
+<button formaction="http://192.0x00A80001"></button><!-- host-192.0x00A80001 -->
+<button formaction="http://%25DOMAIN:foobar@foodomain.com"></button><!-- userinfo-username-contains-percent-encoded -->
+<button formaction="http://@www.example.com"></button><!-- userinfo-empty -->
+<button formaction="http://:b@www.example.com"></button><!-- userinfo-user-empty -->
+<button formaction="http://a:@www.example.com"></button><!-- userinfo-password-empty -->
+<button formaction="http://GOO​⁠goo.com"></button><!-- host-exotic-whitespace -->
+<button formaction="http://www.foo。bar.com"></button><!-- host-exotic-dot -->
+<button formaction="http://Go.com"></button><!-- host-fullwidth -->
+<button formaction="http://你好你好"></button><!-- host-idn-unicode-han -->
+<button formaction="http://192.168.0.257/"></button><!-- host-IP-address-broken -->
+<button formaction="//foo/bar"></button><!-- scheme-schemeless-relative -->
+<button formaction="/"></button><!-- path-slash-only-relative -->
+<button formaction="/a/b/c"></button><!-- path-simple-relative -->
+<button formaction="/a%2fc"></button><!-- path-percent-encoded-slash-relative -->
+<button formaction="/a/%2f/c"></button><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<button formaction="?"></button><!-- query-empty-no-path-relative -->
+<button formaction="#"></button><!-- fragment-empty-hash-only-no-path-relative -->
+<button formaction="#/"></button><!-- fragment-slash-relative -->
+<button formaction="#;?"></button><!-- fragment-semicolon-question-mark-relative -->
+<button formaction="#β"></button><!-- fragment-non-ascii-relative -->
+<button formaction="foo.com"></button><!-- scheme-none-relative -->
+<button formaction=":"></button><!-- path-colon-relative -->
+<button formaction=":a"></button><!-- path-leading-colon-letter-relative -->
+<button formaction=":foo.com"></button><!-- path-leading-colon-chars-relative -->
+<button formaction=":/"></button><!-- path-leading-colon-slash-relative -->
+<button formaction=":#"></button><!-- path-leading-colon-hash-relative -->
+<button formaction=":23"></button><!-- path-leading-colon-number-relative -->
+<button formaction="/:23"></button><!-- path-slash-colon-number-relative -->
+<button formaction="::"></button><!-- path-leading-colon-colon-relative -->
+<button formaction="::23"></button><!-- path-colon-colon-number-relative -->
+<button formaction="💩http://foo"></button><!-- path-starts-with-pile-of-poo -->
+<button formaction="/💩"></button><!-- path-slash-pile-of-poo -->
+<button formaction="File://foo/bar.html"></button><!-- scheme-file-uppercase -->
+<button formaction="file://C|/foo/bar"></button><!-- scheme-file-slash-slash-c-bar -->
+<button formaction="file://server/foo/bar"></button><!-- scheme-file-host-included -->
+<button formaction="file:///foo/bar.txt"></button><!-- scheme-file-host-empty -->
+<button formaction="file:"></button><!-- scheme-file-scheme-only -->
+<button formaction="file:/"></button><!-- scheme-file-slash-only -->
+<button formaction="file://"></button><!-- scheme-file-slash-slash-only -->
+<button formaction="file:///"></button><!-- scheme-file-slash-slash-slash-only -->
+<button formaction="file:test"></button><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html
new file mode 100644
index 0000000000..37b4f02a48
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<button formaction="
+"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..f8dd366818
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-backslash</title>
+<button formaction="#\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..34aa42935c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-contains-hash</title>
+<button formaction="http://foo/path#f#g"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..d5571acf0d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-leading-space</title>
+<button formaction="http://f:21/b# e"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html
new file mode 100644
index 0000000000..99b23b4a79
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-cr</title>
+<button formaction="http://example. org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..f0a118b85a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded</title>
+<button formaction="http://%41.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..71cc7d12ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded-percent-encoded</title>
+<button formaction="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html
new file mode 100644
index 0000000000..728cf8754f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty</title>
+<button formaction="http://"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..04279b9598
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-userinfo-empty</title>
+<button formaction="http://@/www.example.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..5dea89f119
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-with-userinfo</title>
+<button formaction="http://user:pass@/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..477d3871b2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-hostname-in-brackets</title>
+<button formaction="http://[www.google.com]/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..52b2381dfe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode</title>
+<button formaction="http://﷐zyx.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..6728b889d9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode-percent-encoded</title>
+<button formaction="http://%ef%b7%90zyx.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html
new file mode 100644
index 0000000000..7906dd2678
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-newline</title>
+<button formaction="http://example.
+org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html
new file mode 100644
index 0000000000..4aee6d7c4b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-space</title>
+<button formaction="http://example .org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..27cb190901
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-square-brackets-port-contains-colon</title>
+<button formaction="http://[1::2]:3:4"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html
new file mode 100644
index 0000000000..e4bc59fffc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-tab</title>
+<button formaction="http://example .org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..3d70426399
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded</title>
+<button formaction="http://%00.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..29836a9b8c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded-percent-encoded</title>
+<button formaction="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..09febe38a5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-bare-percent-sign</title>
+<button formaction="http://example.com/foo%"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html
new file mode 100644
index 0000000000..a8e6d07bfb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-contains-space</title>
+<button formaction="/a/ /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..f2c1e3bc4d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-backslash-at-sign</title>
+<button formaction="http://foo.com/\@"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..9fbe511ec1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-backslash</title>
+<button formaction=":\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..8715819918
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-chars-backslash</title>
+<button formaction=":foo.com\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html
new file mode 100644
index 0000000000..eda9780b94
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-space</title>
+<button formaction="http://f:21/ b"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..d3d373ad8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-percent-encoded-malformed</title>
+<button formaction="http://example.com/foo/%2e%2"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..afb7e3032a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-relative-square-brackets</title>
+<button formaction="[61:24:74]:98"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html
new file mode 100644
index 0000000000..85313dc98b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-tab</title>
+<button formaction="http://example.com/foo bar"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..4b47774e3a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-trailing-space</title>
+<button formaction="http://f:21/b ?"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html
new file mode 100644
index 0000000000..cc3929c6ad
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-u0091</title>
+<button formaction="http://example.com/foo‘"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html
new file mode 100644
index 0000000000..8a997594d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-999999</title>
+<button formaction="http://f:999999/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html
new file mode 100644
index 0000000000..6596879d57
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-cr</title>
+<button formaction="http://f: /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..2bda92d12f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon-bracket-colon</title>
+<button formaction="http://2001::1]:80"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..c5f0924d87
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon</title>
+<button formaction="http://2001::1"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..e0e1a6bd37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-dash</title>
+<button formaction="http://foo:-80/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..8a01f322ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-multiple-letters</title>
+<button formaction="http://f:fifty-two/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html
new file mode 100644
index 0000000000..088183e5de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-newline</title>
+<button formaction="http://f:
+/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html
new file mode 100644
index 0000000000..b73404884f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-single-letter</title>
+<button formaction="http://f:b/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html
new file mode 100644
index 0000000000..1f0886661c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-space</title>
+<button formaction="http://f: /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html
new file mode 100644
index 0000000000..69ab282abf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-tab</title>
+<button formaction="http://f: /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html
new file mode 100644
index 0000000000..a18576e99c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-leading-space</title>
+<button formaction="http://f:21/b? d"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..f26027f9cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-trailing-space</title>
+<button formaction="http://f:21/b?d #"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..3e48f2db48
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/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>
+<button formaction="data:text/html,test#test"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..612d200191
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-data-single-slash</title>
+<button formaction="data:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..63d96e3b01
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-backslash</title>
+<button formaction="file:c:\foo\bar.html"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..85cf8539b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-single-slash-c-bar</title>
+<button formaction="file:/C|/foo/bar"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..af53544e7b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-slash-slash-abc-bar</title>
+<button formaction="file://abc|/foo/bar"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..901f6b05fa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-triple-slash-c-bar</title>
+<button formaction="file:///C|/foo/bar"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..1f094e3fc7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-no-slash</title>
+<button formaction="ftp:example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..98389130df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-single-slash</title>
+<button formaction="ftp:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..4bfbe65fdd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-backslash</title>
+<button formaction="http:\\foo.com\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..648420993e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-colon</title>
+<button formaction="http::@c:29"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..146d185720
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash</title>
+<button formaction="http:foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..fe7de88779
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-square-bracket</title>
+<button formaction="http:[61:27]/:foo"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..b2d7ef0fb1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-single-slash</title>
+<button formaction="http:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..85b13467b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-no-slash</title>
+<button formaction="https:example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..61ba3d6a30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-single-slash</title>
+<button formaction="https:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..098a02a717
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-cr</title>
+<button formaction="a: foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..4aec7d6c5b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-newline</title>
+<button formaction="a:
+foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..b08683c0cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-space</title>
+<button formaction="a: foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..515d31626d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-tab</title>
+<button formaction="a: foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..658db365c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-backslash</title>
+<button formaction="http://a\b:c\d@foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..62d5c23312
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-bad-chars</title>
+<button formaction="http://&a:foo(b]c@d:2/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..b20b35cc55
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-contains-pile-of-poo</title>
+<button formaction="http://foo:💩@example.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..9cd569d30b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-at-sign</title>
+<button formaction="http://::@c@d:2"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..cde70e15ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-pile-of-poo</title>
+<button formaction="http://💩:foo@example.com"></button>