blob: 087020982b3eb6f52633b8ca2eab5f5151a5889a [file] [log] [blame]
(async function() {
await TestRunner.loadModule('data_grid');
TestRunner.addResult("This tests viewport datagrid.");
var div = document.createElement("div");
UI.inspectorView.element.appendChild(div);
var columns = [{id: "id", title: "ID column", width: "250px"}];
var dataGrid = new DataGrid.DataGrid({displayName: 'Test', columns});
div.appendChild(dataGrid.element);
dataGrid.element.style.height = '150px';
var rootNode = dataGrid.rootNode();
var nodes = [];
for (var i = 0; i < 15; i++) {
var node = new DataGrid.DataGridNode({id: "a" + i});
rootNode.appendChild(node);
nodes.push(node);
}
dumpVisibleNodes();
TestRunner.addResult("Testing removal of some nodes");
nodes[0].remove();
nodes[1].remove();
nodes[3].remove();
nodes[5].remove();
TestRunner.addResult("Should be missing node 0, 1, 3, 5 from dom:");
dumpVisibleNodes();
TestRunner.addResult("Testing adding of some nodes back");
rootNode.insertChild(nodes[0], 0);
rootNode.insertChild(nodes[1], 1);
rootNode.insertChild(nodes[3], 3);
rootNode.insertChild(nodes[5], 5);
TestRunner.addResult("Should have nodes 0, 1, 3, 5 back in dom and previously added nodes removed:");
dumpVisibleNodes();
TestRunner.completeTest();
function dumpVisibleNodes() {
TestRunner.addResult("Nodes attached to dom:");
for (var node of nodes) {
var element = node.existingElement();
if (!element)
continue;
if (div.contains(element))
TestRunner.addResult(node.data.id);
}
TestRunner.addResult("");
}
})();