Testcase for bug http://webkit.org/b/86746. A form element whose immediate parent is either a table, table section or a table row is considered as a demoted element.
Renderer for such an element is not created when its display is to a non table type (Eg. BLOCK, INLINE, etc). However when a table containing form element is cloned,
the form element is not properly demoted. This results in the creation of an unexpected renderer for the form element.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

Expected: The tables should contain only one row of width 150px and one column of height 20px.

PASS Math.round(clonedTable.getBoundingClientRect().width) is 150
PASS Math.round(clonedTable.getBoundingClientRect().height) is 20
PASS Math.round(clonedTable.getBoundingClientRect().width) is 150
PASS Math.round(clonedTable.getBoundingClientRect().height) is 20
PASS Math.round(clonedTable.getBoundingClientRect().width) is 150
PASS Math.round(clonedTable.getBoundingClientRect().height) is 20
PASS successfullyParsed is true

TEST COMPLETE

