<!DOCTYPE html>
<html>
  <head>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div>
      <form id='form1'></form>
      <table id='table1'>
        <form id='form2'>
        <script>
          var t = document.getElementById('table1');
          var f = document.getElementById('form2');
          t.removeChild(f);
        </script>
        <tr><td><input id='input1'></td></tr>
        <tr><td><input id='input2' form='form1'></td></tr>
      </table>
      <form id="form3">
        <input id="input3" />
      </form>
    </div>

    <script>
      test(function() {
        var form1 = document.getElementById('form1');

        assert_equals(document.getElementById('input1').form, null,
          "input1's form owner must be null since form2 is not in the" +
          "same home subtree");

        assert_equals(document.getElementById('input2').form, form1,
          "input2's form owner must be the form with id 'form1'");

        assert_equals(document.getElementById('input3').form, null,
          "input3's form owner must be null instead of form2 (as per parsing rules)" +
          "since form2 is not in the same home subtree");

      }, "Controls nested in tables are not associated with form element inside the " +
         "table if the form had been removed by script before the controls were " +
         "inserted by the parser");
    </script>
  </body>
</html>
