X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FLayoutTests%2Fhttp%2Ftests%2Finspector%2Fconsole-test.js;h=f4d4b57aea8d9a511ec9512491d9e2c09cd38915;hb=1afa4dd80ef85af7c90efaea6959db1d92330844;hp=d248b39a9278cb40a3d8be3537ef50a5f8cc3299;hpb=90762837333c13ccf56f2ad88e4481fc71e8d281;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/LayoutTests/http/tests/inspector/console-test.js b/src/third_party/WebKit/LayoutTests/http/tests/inspector/console-test.js index d248b39..f4d4b57 100644 --- a/src/third_party/WebKit/LayoutTests/http/tests/inspector/console-test.js +++ b/src/third_party/WebKit/LayoutTests/http/tests/inspector/console-test.js @@ -1,14 +1,46 @@ var initialize_ConsoleTest = function() { +InspectorTest.preloadPanel("console"); -InspectorTest.showConsolePanel = function() +InspectorTest.evaluateInConsole = function(code, callback) { - WebInspector.inspectorView.showPanel("console"); + callback = InspectorTest.safeWrap(callback); + + var consoleView = WebInspector.ConsolePanel._view(); + consoleView.visible = true; + consoleView._prompt.text = code; + var event = document.createEvent("KeyboardEvent"); + event.initKeyboardEvent("keydown", true, true, null, "Enter", ""); + consoleView._prompt.proxyElement.dispatchEvent(event); + InspectorTest.addConsoleViewSniffer(function(commandResult) { + callback(commandResult.toMessageElement().deepTextContent()); + }); +} + +InspectorTest.addConsoleViewSniffer = function(override, opt_sticky) +{ + var sniffer = function (viewMessage) { + override(viewMessage); + }; + + InspectorTest.addSniffer(WebInspector.ConsoleView.prototype, "_consoleMessageAddedForTest", sniffer, opt_sticky); +} + +InspectorTest.evaluateInConsoleAndDump = function(code, callback) +{ + callback = InspectorTest.safeWrap(callback); + + function mycallback(text) + { + InspectorTest.addResult(code + " = " + text); + callback(text); + } + InspectorTest.evaluateInConsole(code, mycallback); } InspectorTest.prepareConsoleMessageText = function(messageElement, consoleMessage) { - var messageText = messageElement.textContent.replace(/\u200b/g, ""); + var messageText = messageElement.deepTextContent().replace(/\u200b/g, ""); // Replace scriptIds with generic scriptId string to avoid flakiness. messageText = messageText.replace(/VM\d+/g, "VM"); // Strip out InjectedScript line numbers from stack traces to avoid rebaselining each time InjectedScriptSource is edited. @@ -17,6 +49,10 @@ InspectorTest.prepareConsoleMessageText = function(messageElement, consoleMessag var functionName = consoleMessage && consoleMessage.stackTrace && consoleMessage.stackTrace[0] && consoleMessage.stackTrace[0].functionName || ""; if (functionName.indexOf("InjectedScript") !== -1) messageText = messageText.replace(/\bVM:\d+/, ""); // Only first replace. + if (messageText.startsWith("Navigated to")) { + var fileName = messageText.split(" ").pop().split("/").pop(); + messageText = "Navigated to " + fileName; + } // The message might be extremely long in case of dumping stack overflow message. messageText = messageText.substring(0, 1024); return messageText; @@ -36,13 +72,26 @@ InspectorTest.fixConsoleViewportDimensions = function(width, height) viewport.invalidate(); } +InspectorTest.consoleMessagesCount = function() +{ + var consoleView = WebInspector.ConsolePanel._view(); + return consoleView._consoleMessages.length; +} + InspectorTest.dumpConsoleMessages = function(printOriginatingCommand, dumpClassNames, formatter) { - WebInspector.inspectorView.panel("console"); + InspectorTest.addResults(InspectorTest.dumpConsoleMessagesIntoArray(printOriginatingCommand, dumpClassNames, formatter)); +} + +InspectorTest.dumpConsoleMessagesIntoArray = function(printOriginatingCommand, dumpClassNames, formatter) +{ formatter = formatter || InspectorTest.prepareConsoleMessageText; var result = []; InspectorTest.disableConsoleViewport(); - var viewMessages = WebInspector.ConsolePanel._view()._visibleViewMessages; + var consoleView = WebInspector.ConsolePanel._view(); + if (consoleView._needsFullUpdate) + consoleView._updateMessageList(); + var viewMessages = consoleView._visibleViewMessages; for (var i = 0; i < viewMessages.length; ++i) { var uiMessage = viewMessages[i]; var message = uiMessage.consoleMessage(); @@ -56,21 +105,21 @@ InspectorTest.dumpConsoleMessages = function(printOriginatingCommand, dumpClassN } } - if (InspectorTest.dumpConsoleTableMessage(uiMessage, false)) { + if (InspectorTest.dumpConsoleTableMessage(uiMessage, false, result)) { if (dumpClassNames) - InspectorTest.addResult(classNames.join(" > ")); + result.push(classNames.join(" > ")); } else { var messageText = formatter(element, message); - InspectorTest.addResult(messageText + (dumpClassNames ? " " + classNames.join(" > ") : "")); + result.push(messageText + (dumpClassNames ? " " + classNames.join(" > ") : "")); } if (printOriginatingCommand && uiMessage.consoleMessage().originatingMessage()) - InspectorTest.addResult("Originating from: " + uiMessage.consoleMessage().originatingMessage().messageText); + result.push("Originating from: " + uiMessage.consoleMessage().originatingMessage().messageText); } return result; } -InspectorTest.dumpConsoleTableMessage = function(viewMessage, forceInvalidate) +InspectorTest.dumpConsoleTableMessage = function(viewMessage, forceInvalidate, results) { if (forceInvalidate) WebInspector.ConsolePanel._view()._viewport.invalidate(); @@ -83,7 +132,7 @@ InspectorTest.dumpConsoleTableMessage = function(viewMessage, forceInvalidate) for (var i = 0; i < headers.length; i++) headerLine += headers[i].textContent + " | "; - InspectorTest.addResult("HEADER " + headerLine); + addResult("HEADER " + headerLine); var rows = table.querySelectorAll(".data-container tr"); @@ -95,14 +144,22 @@ InspectorTest.dumpConsoleTableMessage = function(viewMessage, forceInvalidate) rowLine += items[j].textContent + " | "; if (rowLine.trim()) - InspectorTest.addResult("ROW " + rowLine); + addResult("ROW " + rowLine); } + + function addResult(x) + { + if (results) + results.push(x); + else + InspectorTest.addResult(x); + } + return true; } InspectorTest.dumpConsoleMessagesWithStyles = function(sortMessages) { - WebInspector.inspectorView.panel("console"); var result = []; var messageViews = WebInspector.ConsolePanel._view()._visibleViewMessages; for (var i = 0; i < messageViews.length; ++i) { @@ -116,7 +173,6 @@ InspectorTest.dumpConsoleMessagesWithStyles = function(sortMessages) } InspectorTest.dumpConsoleMessagesWithClasses = function(sortMessages) { - WebInspector.inspectorView.panel("console"); var result = []; var messageViews = WebInspector.ConsolePanel._view()._visibleViewMessages; for (var i = 0; i < messageViews.length; ++i) { @@ -130,9 +186,8 @@ InspectorTest.dumpConsoleMessagesWithClasses = function(sortMessages) { InspectorTest.addResult(result[i]); } -InspectorTest.expandConsoleMessages = function(callback, deepFilter) +InspectorTest.expandConsoleMessages = function(callback, deepFilter, sectionFilter) { - WebInspector.inspectorView.panel("console"); var messageViews = WebInspector.ConsolePanel._view()._visibleViewMessages; // Initiate round-trips to fetch necessary data for further rendering. @@ -150,6 +205,8 @@ InspectorTest.expandConsoleMessages = function(callback, deepFilter) node.treeElementForTest.expand(); if (!node._section) continue; + if (sectionFilter && !sectionFilter(node._section)) + continue; node._section.expanded = true; if (!deepFilter) @@ -177,7 +234,6 @@ InspectorTest.waitForRemoteObjectsConsoleMessages = function(callback) InspectorTest.checkConsoleMessagesDontHaveParameters = function() { - WebInspector.inspectorView.panel("console"); var messageViews = WebInspector.ConsolePanel._view()._visibleViewMessages; for (var i = 0; i < messageViews.length; ++i) { var m = messageViews[i].consoleMessage(); @@ -213,7 +269,6 @@ InspectorTest.waitUntilNthMessageReceived = function(count, callback) InspectorTest.changeExecutionContext = function(namePrefix) { - WebInspector.inspectorView.panel("console"); var selector = WebInspector.ConsolePanel._view()._executionContextSelector._selectElement; var option = selector.firstChild; while (option) {