summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/dom/script-tests/dataset-gc.js
blob: 8e318bf6c624a7fb49b461682c5a10a07bb1ee9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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'");