blob: 59bd02b504c04a2b2cb7477d72058641c57611af [file] [log] [blame]
<!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>