40 lines
953 B
HTML
40 lines
953 B
HTML
<!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>
|