<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/gc.js"></script>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>
description("Tests that accessing Attr after its Element has been destroyed works without crashing.");

jsTestIsAsync = true;

var element = document.createElement("p");
element.setAttribute("a", "b");
var attributes = element.attributes;
element = null;
var attr = null;

asyncGC(function() {
    shouldBe("attributes.length", "1");
    shouldBe("attributes[0]", "attributes.item(0)");
    shouldBe("attributes.getNamedItem('a')", "attributes.item(0)");

    shouldBe("attributes.item(0).name", "'a'");
    shouldBe("attributes.item(0).value", "'b'");
    shouldBe("attributes.item(0).ownerElement.tagName", "'P'");

    attributes.item(0).value = 'c';

    shouldBe("attributes.item(0).value", "'c'");

    attributes.removeNamedItem('a');

    shouldBe("attributes.length", "0");

    element = document.createElement("p");
    element.setAttribute("a", "b");
    attr = element.attributes.item(0);
    element = null;

    asyncGC(function() {

        shouldBe("attr.name", "'a'");
        shouldBe("attr.value", "'b'");
        shouldBe("attr.ownerElement.tagName", "'P'");

        attr.value = 'c';

        shouldBe("attr.value", "'c'");

        finishJSTest();
    });
});
</script>
</body>
</html>
