Commit 2a2699ae authored by Adithya Srinivasan's avatar Adithya Srinivasan Committed by Commit Bot

Portals: Add regression test for console duplication

Fix was landed in https://crrev.com/c/2159599.

Bug: 1069487
Change-Id: I88088ea07b76014e2cdb8c01ca0385f39470de10
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2388480
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Reviewed-by: default avatarSimon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804997}
parent 02ba4b5e
Tests that console messages aren't duplicated after portal activation
Message count: 3
console-duplication-host.html:4 host
console-duplication-portal-1.html:3 portal-1
console-duplication-portal-2.html:3 portal-2
first activate (without adoption)
console-duplication-host.html:4 host
console-duplication-portal-1.html:3 portal-1
console-duplication-portal-2.html:3 portal-2
second activate (with adoption)
console-duplication-host.html:4 host
console-duplication-portal-1.html:3 portal-1
console-duplication-portal-2.html:3 portal-2
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests that console messages aren't duplicated after portal activation`);
await TestRunner.loadModule('console_test_runner');
await TestRunner.showPanel('console');
await TestRunner.navigatePromise('resources/console-duplication-host.html');
const targets = SDK.targetManager.targets();
TestRunner.assertEquals(3, targets.length);
await ConsoleTestRunner.waitForConsoleMessagesPromise(3);
await ConsoleTestRunner.dumpConsoleMessages();
function activate() {
TestRunner.evaluateInPage(`setTimeout(() => document.querySelector('portal').activate());`);
}
TestRunner.addResult('\nfirst activate (without adoption)');
activate();
await ConsoleTestRunner.waitUntilNthMessageReceivedPromise(2);
TestRunner.assertEquals(3, ConsoleTestRunner.consoleMessagesCount());
await ConsoleTestRunner.dumpConsoleMessages();
TestRunner.addResult('\nsecond activate (with adoption)');
activate();
await ConsoleTestRunner.waitUntilNthMessageReceivedPromise(2);
TestRunner.assertEquals(3, ConsoleTestRunner.consoleMessagesCount());
await ConsoleTestRunner.dumpConsoleMessages();
TestRunner.completeTest();
})();
<!DOCTYPE html>
<body>
<script>
console.log('host');
</script>
<portal src="console-duplication-portal-1.html"></portal>
</body>
<!DOCTYPE html>
<script>
console.log('portal-1');
</script>
<portal src="console-duplication-portal-2.html"></portal>
<!DOCTYPE html>
<script>
console.log('portal-2');
window.onportalactivate = e => {
document.body.appendChild(e.adoptPredecessor());
}
</script>
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