<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<script>
description("Tests that DOMQuad.p1 / p2 / p3 / p4 is [SameObject].");
jsTestIsAsync = true;

let quad = new DOMQuad();
quad.p1.foo = 1;
quad.p2.foo = 2;
quad.p3.foo = 3;
quad.p4.foo = 4;

shouldBe("quad.p1.foo", "1");
shouldBe("quad.p2.foo", "2");
shouldBe("quad.p3.foo", "3");
shouldBe("quad.p4.foo", "4");

gc();

shouldBe("quad.p1.foo", "1");
shouldBe("quad.p2.foo", "2");
shouldBe("quad.p3.foo", "3");
shouldBe("quad.p4.foo", "4");

setTimeout(function() {
    gc();

    shouldBe("quad.p1.foo", "1");
    shouldBe("quad.p2.foo", "2");
    shouldBe("quad.p3.foo", "3");
    shouldBe("quad.p4.foo", "4");

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