blob: 72ba6cfdab9dec993105e2fbf9afa7a3e0b04d1a [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/console-test.js"></script>
<script>
function onload()
{
var a = [];
for (var i = 0; i < 42; ++i)
a[i] = i;
a[100] = 100;
console.dir(a);
var b = [];
for (var i = 0; i < 10; ++i)
b[i] = undefined;
console.dir(b);
var c = [];
for (var i = 0; i < 10; ++i)
c[i] = i;
c[100] = 100;
console.dir(c);
var d = [];
for (var i = 0; i < 405; ++i)
d[i] = i;
console.dir(d);
runTest();
}
function test()
{
WebInspector.ArrayGroupingTreeElement._bucketThreshold = 20;
var messages = WebInspector.console.messages;
var sections = [];
for (var i = 0; i < messages.length; ++i) {
var element = messages[i].toMessageElement();
var node = element.traverseNextNode(element);
while (node) {
if (node._section) {
sections.push(node._section);
messages[i].section = node._section;
node._section.expanded = true;
}
node = node.traverseNextNode(element);
}
}
InspectorTest.addSniffer(WebInspector.ArrayGroupingTreeElement.prototype, "onpopulate", populateCalled, true);
var populated = false;
function populateCalled()
{
populated = this._toIndex == 404;
}
InspectorTest.runAfterPendingDispatches(expandRecursively);
function expandRecursively()
{
for (var i = 0; i < sections.length; ++i) {
for (var j = 0; j < sections[i].propertiesTreeOutline.children.length; ++j) {
for (var treeElement = sections[i].propertiesTreeOutline.children[j]; treeElement; treeElement = treeElement.traverseNextTreeElement(false, null, false)) {
if (treeElement.listItemElement.textContent.indexOf("__proto__") === -1)
treeElement.expand();
}
}
}
if (populated)
InspectorTest.runAfterPendingDispatches(completeTest);
else
InspectorTest.runAfterPendingDispatches(expandRecursively);
}
function completeTest()
{
InspectorTest.addResult(InspectorTest.textContentWithLineBreaks(WebInspector.consoleView.messagesElement));
InspectorTest.completeTest();
}
}
</script>
</head>
<body onload="onload()">
<p>
Tests that console logging dumps large arrays properly.
</p>
</body>
</html>