Commit 23ca37a4 authored by Simon Zünd's avatar Simon Zünd Committed by Commit Bot

Prepare web test for source map asyncification

When dumping console messages that contain LiveLocations, we need to
properly await rendering updates. This CL adds the necessary call
to a TestRunner helper as well as {await}s.

R=petermarshall@chromium.org

Bug: chromium:1032016
Change-Id: I251eb7e2265f837690d005470f442b877a7915aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2106084Reviewed-by: default avatarPeter Marshall <petermarshall@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750987}
parent d8c37dee
...@@ -26,11 +26,11 @@ ...@@ -26,11 +26,11 @@
await clearAndLog(`console.warn("warning")`); await clearAndLog(`console.warn("warning")`);
forceSelect(0); forceSelect(0);
dumpFocus(); await dumpFocus();
press('ArrowRight'); press('ArrowRight');
dumpFocus(); await dumpFocus();
press('ArrowLeft'); press('ArrowLeft');
dumpFocus(); await dumpFocus();
next(); next();
}, },
...@@ -39,13 +39,13 @@ ...@@ -39,13 +39,13 @@
await clearAndLog(`console.group("group"); console.log("log child");`, 2); await clearAndLog(`console.group("group"); console.log("log child");`, 2);
forceSelect(0); forceSelect(0);
dumpFocus(); await dumpFocus();
await ConsoleTestRunner.dumpConsoleMessages(); await ConsoleTestRunner.dumpConsoleMessages();
press('ArrowLeft'); press('ArrowLeft');
dumpFocus(); await dumpFocus();
await ConsoleTestRunner.dumpConsoleMessages(); await ConsoleTestRunner.dumpConsoleMessages();
press('ArrowRight'); press('ArrowRight');
dumpFocus(); await dumpFocus();
await ConsoleTestRunner.dumpConsoleMessages(); await ConsoleTestRunner.dumpConsoleMessages();
next(); next();
...@@ -55,21 +55,21 @@ ...@@ -55,21 +55,21 @@
await clearAndLog(`console.log("before");console.log("text", obj1, obj2);console.log("after");`, 3); await clearAndLog(`console.log("before");console.log("text", obj1, obj2);console.log("after");`, 3);
forceSelect(1); forceSelect(1);
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowRight'); press('ArrowRight');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowUp'); press('ArrowUp');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowUp'); press('ArrowUp');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowLeft'); press('ArrowLeft');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
next(); next();
}, },
...@@ -80,39 +80,39 @@ ...@@ -80,39 +80,39 @@
await clearAndLog(`console.log("before");console.log("text", obj1, obj2);console.log("after");`, 3); await clearAndLog(`console.log("before");console.log("text", obj1, obj2);console.log("after");`, 3);
forceSelect(1); forceSelect(1);
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowRight'); press('ArrowRight');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
// Expand obj1. // Expand obj1.
press('ArrowRight'); press('ArrowRight');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise(); await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise();
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
// Expand obj2. // Expand obj2.
press('ArrowRight'); press('ArrowRight');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise(); await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise();
press('ArrowDown'); press('ArrowDown');
press('ArrowDown'); press('ArrowDown');
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
press('ArrowUp'); press('ArrowUp');
press('ArrowUp'); press('ArrowUp');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
// Collapse object. // Collapse object.
press('ArrowLeft'); press('ArrowLeft');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
// Select message. // Select message.
press('ArrowLeft'); press('ArrowLeft');
dumpFocus(true, 1, true /* skipObjectCheck */); await dumpFocus(true, 1, true /* skipObjectCheck */);
next(); next();
}, },
...@@ -121,38 +121,38 @@ ...@@ -121,38 +121,38 @@
await clearAndLog(`console.log("before");console.warn("warning", obj1);console.log("after");`, 3); await clearAndLog(`console.log("before");console.warn("warning", obj1);console.log("after");`, 3);
forceSelect(1); forceSelect(1);
dumpFocus(true, 1); await dumpFocus(true, 1);
press('ArrowRight'); press('ArrowRight');
dumpFocus(true, 1); await dumpFocus(true, 1);
press('ArrowRight'); press('ArrowRight');
dumpFocus(true, 1); await dumpFocus(true, 1);
// Expand object. // Expand object.
press('ArrowRight'); press('ArrowRight');
dumpFocus(true, 1); await dumpFocus(true, 1);
await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise(); await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise();
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1); await dumpFocus(true, 1);
press('ArrowDown'); press('ArrowDown');
press('ArrowDown'); press('ArrowDown');
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1); await dumpFocus(true, 1);
press('ArrowUp'); press('ArrowUp');
press('ArrowUp'); press('ArrowUp');
dumpFocus(true, 1); await dumpFocus(true, 1);
press('ArrowUp'); press('ArrowUp');
dumpFocus(true, 1); await dumpFocus(true, 1);
press('ArrowUp'); press('ArrowUp');
dumpFocus(true, 1); await dumpFocus(true, 1);
// Collapse trace. // Collapse trace.
press('ArrowLeft'); press('ArrowLeft');
dumpFocus(true, 1); await dumpFocus(true, 1);
// ArrowLeft on message does not collapse object. // ArrowLeft on message does not collapse object.
press('ArrowLeft'); press('ArrowLeft');
dumpFocus(true, 1); await dumpFocus(true, 1);
next(); next();
}, },
...@@ -168,15 +168,15 @@ ...@@ -168,15 +168,15 @@
await nodePromise; await nodePromise;
forceSelect(1); forceSelect(1);
dumpFocus(true, 1); await dumpFocus(true, 1);
press('ArrowDown'); press('ArrowDown');
press('ArrowDown'); press('ArrowDown');
dumpFocus(true, 1); await dumpFocus(true, 1);
// Expand object. // Expand object.
press('ArrowRight'); press('ArrowRight');
await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise(); await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise();
dumpFocus(true, 1); await dumpFocus(true, 1);
next(); next();
}, },
...@@ -189,12 +189,12 @@ ...@@ -189,12 +189,12 @@
prompt.focus(); prompt.focus();
shiftPress('Tab'); shiftPress('Tab');
press('ArrowUp'); // Move from source link to object. press('ArrowUp'); // Move from source link to object.
dumpFocus(true, 1); await dumpFocus(true, 1);
// Expand object. // Expand object.
press('ArrowRight'); press('ArrowRight');
await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise(); await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise();
dumpFocus(true, 1); await dumpFocus(true, 1);
next(); next();
}, },
...@@ -208,11 +208,11 @@ ...@@ -208,11 +208,11 @@
prompt.focus(); prompt.focus();
shiftPress('Tab'); shiftPress('Tab');
press('ArrowUp'); // Move from source link to "after". press('ArrowUp'); // Move from source link to "after".
dumpFocus(true); await dumpFocus(true);
press('ArrowUp'); // Move from source link to object. press('ArrowUp'); // Move from source link to object.
press('ArrowUp'); press('ArrowUp');
dumpFocus(true); await dumpFocus(true);
next(); next();
}, },
...@@ -234,11 +234,11 @@ ...@@ -234,11 +234,11 @@
await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise(); await ConsoleTestRunner.waitForRemoteObjectsConsoleMessagesPromise();
press('Tab'); press('Tab');
dumpFocus(true); await dumpFocus(true);
shiftPress('Tab'); shiftPress('Tab');
press('ArrowUp'); // Move from source link to object. press('ArrowUp'); // Move from source link to object.
dumpFocus(true); await dumpFocus(true);
dumpScrollInfo(); dumpScrollInfo();
next(); next();
...@@ -279,12 +279,17 @@ ...@@ -279,12 +279,17 @@
TestRunner.addResult(infoText); TestRunner.addResult(infoText);
} }
function dumpFocus(activeElement, messageIndex = 0, skipObjectCheck) { async function dumpFocus(activeElement, messageIndex = 0, skipObjectCheck) {
const firstMessage = consoleView._visibleViewMessages[messageIndex]; const firstMessage = consoleView._visibleViewMessages[messageIndex]
const hasTrace = !!firstMessage.element().querySelector('.console-message-stack-trace-toggle'); // Ordering here is important. Retrieving the element triggers the creation of a LiveLocation.
const hasHiddenStackTrace = firstMessage.element().querySelector('.console-message-stack-trace-wrapper > div.hidden'); // Wait for pending updates to settle as updates usually cause more rendering.
const hasCollapsedObject = firstMessage.element().querySelector('.console-view-object-properties-section:not(.expanded)'); const firstMessageElement = firstMessage.element();
const hasExpandedObject = firstMessage.element().querySelector('.console-view-object-properties-section.expanded'); await TestRunner.waitForPendingLiveLocationUpdates();
const hasTrace = !!firstMessageElement.querySelector('.console-message-stack-trace-toggle');
const hasHiddenStackTrace = firstMessageElement.querySelector('.console-message-stack-trace-wrapper > div.hidden');
const hasCollapsedObject = firstMessageElement.querySelector('.console-view-object-properties-section:not(.expanded)');
const hasExpandedObject = firstMessageElement.querySelector('.console-view-object-properties-section.expanded');
TestRunner.addResult(`Viewport virtual selection: ${viewport._virtualSelectedIndex}`); TestRunner.addResult(`Viewport virtual selection: ${viewport._virtualSelectedIndex}`);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment