HTML: split pattern_attribute.html into 2 files

See https://github.com/web-platform-tests/interop/issues/345
diff --git a/html/semantics/forms/the-input-element/pattern_attribute.html b/html/semantics/forms/the-input-element/pattern_attribute.html
index 93cbd2c..ec09342 100644
--- a/html/semantics/forms/the-input-element/pattern_attribute.html
+++ b/html/semantics/forms/the-input-element/pattern_attribute.html
@@ -16,40 +16,6 @@
   <input pattern="\p{ASCII_Hex_Digit}+" value="c0ff33" id="unicode-property">
 
   <input pattern="\p{RGI_Emoji}+" value="&#x1F618;&#x1F48B;" id="unicode-property-of-strings">
-  <input pattern="[\p{ASCII_Hex_Digit}--[Ff]]" value="0123456789abcdefABCDEF" id="set-difference">
-  <input pattern="[_\q{a|bc|def}]" value="q" id="string-literal">
-
-  <div class="breaking-changes-from-u-to-v">
-    <!-- Unescaped special characters in character classes. -->
-    <input pattern="[(]" value="foo">
-    <input pattern="[)]" value="foo">
-    <input pattern="[[]" value="foo">
-    <input pattern="[{]" value="foo">
-    <input pattern="[}]" value="foo">
-    <input pattern="[/]" value="foo">
-    <input pattern="[-]" value="foo">
-    <input pattern="[|]" value="foo">
-    <!-- Double punctuators in character classes. -->
-    <input pattern="[&&]" value="foo">
-    <input pattern="[!!]" value="foo">
-    <input pattern="[##]" value="foo">
-    <input pattern="[$$]" value="foo">
-    <input pattern="[%%]" value="foo">
-    <input pattern="[**]" value="foo">
-    <input pattern="[++]" value="foo">
-    <input pattern="[,,]" value="foo">
-    <input pattern="[..]" value="foo">
-    <input pattern="[::]" value="foo">
-    <input pattern="[;;]" value="foo">
-    <input pattern="[<<]" value="foo">
-    <input pattern="[==]" value="foo">
-    <input pattern="[>>]" value="foo">
-    <input pattern="[??]" value="foo">
-    <input pattern="[@@]" value="foo">
-    <input pattern="[``]" value="foo">
-    <input pattern="[~~]" value="foo">
-    <input pattern="[_^^]" value="foo">
-  </div>
 </div>
 <div id="log"></div>
 <script>
@@ -86,32 +52,4 @@
     assert_true(input.matches(":valid"));
     assert_false(input.validity.patternMismatch);
   }, "<input pattern> supports Unicode property escape syntax for properties of strings");
-
-  test(() => {
-    const input = document.querySelector("#set-difference");
-    assert_false(input.validity.valid);
-    assert_false(input.matches(":valid"));
-    assert_true(input.validity.patternMismatch);
-  }, "<input pattern> supports set difference syntax");
-
-  test(() => {
-    const input = document.querySelector("#string-literal");
-    assert_false(input.validity.valid);
-    assert_true(input.validity.patternMismatch);
-    assert_true(input.matches(":invalid"));
-  }, "<input pattern> supports string literal syntax");
-
-  test(() => {
-    const inputs = document.querySelectorAll(".breaking-changes-from-u-to-v input");
-    // These examples are all written such that they’re all `:invalid`
-    // when using `u`, but would become `:valid` when using `v` because
-    // the pattern would error, in turn resulting in
-    // `validity.valid === true`.
-    for (const input of inputs) {
-      const html = input.outerHTML;
-      assert_true(input.validity.valid, `${html} should be valid`);
-      assert_true(input.matches(":valid"), `${html} should match \`:valid\``);
-      assert_false(input.validity.patternMismatch, `${html} should not trigger a pattern mismatch`);
-    }
-  }, "<input pattern> enables the RegExp v flag");
 </script>
diff --git a/html/semantics/forms/the-input-element/pattern_attribute_v_flag.html b/html/semantics/forms/the-input-element/pattern_attribute_v_flag.html
new file mode 100644
index 0000000..5246421
--- /dev/null
+++ b/html/semantics/forms/the-input-element/pattern_attribute_v_flag.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>pattern attribute: v flag</title>
+<meta name=viewport content="width=device-width">
+<link rel="author" title="Fabrice Clari" href="mailto:f.clari@inno-group.com">
+<link rel="author" title="Dimitri Bocquet" href="mailto:Dimitri.Bocquet@mosquito-fp7.eu">
+<link rel="author" title="Mathias Bynens" href="https://mathiasbynens.be/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#attr-input-pattern">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<h1><code>pattern</code> attribute: v flag</h1>
+<div style="display: none">
+  <input pattern="[\p{ASCII_Hex_Digit}--[Ff]]" value="0123456789abcdefABCDEF" id="set-difference">
+  <input pattern="[_\q{a|bc|def}]" value="q" id="string-literal">
+
+  <div class="breaking-changes-from-u-to-v">
+    <!-- Unescaped special characters in character classes. -->
+    <input pattern="[(]" value="foo">
+    <input pattern="[)]" value="foo">
+    <input pattern="[[]" value="foo">
+    <input pattern="[{]" value="foo">
+    <input pattern="[}]" value="foo">
+    <input pattern="[/]" value="foo">
+    <input pattern="[-]" value="foo">
+    <input pattern="[|]" value="foo">
+    <!-- Double punctuators in character classes. -->
+    <input pattern="[&&]" value="foo">
+    <input pattern="[!!]" value="foo">
+    <input pattern="[##]" value="foo">
+    <input pattern="[$$]" value="foo">
+    <input pattern="[%%]" value="foo">
+    <input pattern="[**]" value="foo">
+    <input pattern="[++]" value="foo">
+    <input pattern="[,,]" value="foo">
+    <input pattern="[..]" value="foo">
+    <input pattern="[::]" value="foo">
+    <input pattern="[;;]" value="foo">
+    <input pattern="[<<]" value="foo">
+    <input pattern="[==]" value="foo">
+    <input pattern="[>>]" value="foo">
+    <input pattern="[??]" value="foo">
+    <input pattern="[@@]" value="foo">
+    <input pattern="[``]" value="foo">
+    <input pattern="[~~]" value="foo">
+    <input pattern="[_^^]" value="foo">
+  </div>
+</div>
+<div id="log"></div>
+<script>
+  test(() => {
+    const input = document.querySelector("#set-difference");
+    assert_false(input.validity.valid);
+    assert_false(input.matches(":valid"));
+    assert_true(input.validity.patternMismatch);
+  }, "<input pattern> supports set difference syntax");
+
+  test(() => {
+    const input = document.querySelector("#string-literal");
+    assert_false(input.validity.valid);
+    assert_true(input.validity.patternMismatch);
+    assert_true(input.matches(":invalid"));
+  }, "<input pattern> supports string literal syntax");
+
+  test(() => {
+    const inputs = document.querySelectorAll(".breaking-changes-from-u-to-v input");
+    // These examples are all written such that they’re all `:invalid`
+    // when using `u`, but would become `:valid` when using `v` because
+    // the pattern would error, in turn resulting in
+    // `validity.valid === true`.
+    for (const input of inputs) {
+      const html = input.outerHTML;
+      assert_true(input.validity.valid, `${html} should be valid`);
+      assert_true(input.matches(":valid"), `${html} should match \`:valid\``);
+      assert_false(input.validity.patternMismatch, `${html} should not trigger a pattern mismatch`);
+    }
+  }, "<input pattern> enables the RegExp v flag");
+</script>