<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<div id="test">
    <div id="console"></div>
</body>
<script>
window.jsTestIsAsync = true;

var form, input, str;

window.onload = function()
{
    form = document.body.appendChild(document.createElement("form"));
    form.id = "form";
  
    input = document.createElement("input");
    input.id = "input";
    input.setAttribute("form", "form");
    form.elements.namedItem("input");
  
    input = null;

    gc();
    setTimeout(step2, 100);
}

function step2()
{
    try {
        str = typeof form['input'].form;
    } catch(e) {
        str = 'threw exception';
    }
    shouldBe("str", "'threw exception'");
    finishJSTest();
}
</script>
<script src="../../../resources/js-test-post.js"></script>
</html>
