<!doctype html>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<table><form><tr><td><input></table>
<div id=2></div>
<script>
test(() => {
  const input = document.querySelector("input"),
        form = document.querySelector("form");
  assert_equals(input.form, form);
  document.getElementById("2").appendChild(form.parentNode);
  assert_equals(input.form, form);
  document.getElementById("2").appendChild(input);
  assert_equals(input.form, null);
}, "parser inserted flag is not reset by insertions with the owner form, but reset by by removal from the owner form");
</script>
