blob: 019887280301a9fcab60eeac3fb157793dca6990 [file] [log] [blame]
(async function() {
await TestRunner.loadModule('data_grid');
TestRunner.addResult("This tests long text in datagrid.");
var columns = [
{id: "key", title: "Key column", editable: true, longText: false},
{id: "value", title: "Value column", editable: true, longText: true}
];
var dataGrid = new DataGrid.DataGrid({displayName: 'Test', columns, editCallback: onEdit});
UI.inspectorView.element.appendChild(dataGrid.element);
var rootNode = dataGrid.rootNode();
var node = new DataGrid.DataGridNode({key: "k".repeat(1500), value: "v".repeat(1500)});
rootNode.appendChild(node);
var keyElement = dataGrid.element.querySelector(".data .key-column");
var valueElement = dataGrid.element.querySelector(".data .value-column");
TestRunner.addResult("Original lengths");
dumpKeyLength();
dumpValueLength();
TestRunner.addResult("\nTest committing a long key");
dataGrid._startEditing(keyElement);
keyElement.textContent = "k".repeat(3000);
dumpKeyLength();
TestRunner.addResult("Blurring the key");
keyElement.blur();
dumpKeyLength();
TestRunner.addResult("\nTest no-op editing the key");
dataGrid._startEditing(keyElement);
dumpKeyLength();
TestRunner.addResult("Blurring the key");
keyElement.blur();
dumpKeyLength();
TestRunner.addResult("\nTest committing a long value");
dataGrid._startEditing(valueElement);
valueElement.textContent = "v".repeat(3000);
dumpValueLength();
TestRunner.addResult("Blurring the value");
valueElement.blur();
dumpValueLength();
TestRunner.addResult("\nTest no-op editing the value");
dataGrid._startEditing(valueElement);
dumpValueLength();
TestRunner.addResult("Blurring the value");
valueElement.blur();
dumpValueLength();
TestRunner.completeTest();
function dumpKeyLength() {
if (keyElement.classList.contains("being-edited"))
TestRunner.addResult("key element is being edited");
TestRunner.addResult("key text length: " + keyElement.textContent.length);
}
function dumpValueLength() {
if (valueElement.classList.contains("being-edited"))
TestRunner.addResult("value element is being edited");
TestRunner.addResult("value text length: " + valueElement.textContent.length);
}
function onEdit() {
TestRunner.addResult("Editor value committed.");
}
})();