<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("This tests that custom properties on element.dataset persist GC.");

function gc()
{
    if (window.GCController)
        return GCController.collect();

    for (var i = 0; i < 10000; i++) {
        var s = new String("");
    }
}


var d = document.createElement("div");

var dataset = d.dataset;
// Add a property to our prototype. It will be hidden by the corresponding data- attribute.
dataset.__proto__.customProperty = 1;
dataset.customProperty = 1; // Now set a property on ourselves.
shouldBe("d.getAttribute('data-custom-property')", "'1'");
shouldBe("d.dataset.customProperty", "'1'");

dataset = null;

gc();

// Test that the custom property persisted the GC.
shouldBe("d.dataset.customProperty", "'1'");
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
