blob: 605a7fd668801ea7b75bdffb553bc8900eebd50d [file] [log] [blame]
// Copyright 2017 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 repeat count is properly updated.\n`);
await TestRunner.loadModule('console_test_runner');
await TestRunner.showPanel('console');
await TestRunner.evaluateInPagePromise(`
function dumpMessages()
{
for (var i = 0; i < 2; ++i)
console.log("Message");
for (var i = 0; i < 2; ++i)
console.log(new Error("Message with error"));
for (var i = 0; i < 2; ++i)
console.error({a: 1});
}
function throwObjects() {
for (var i = 0; i < 2; ++i)
setTimeout(() => { throw {a: 1}; }, 0);
}
function throwPrimitiveValues() {
for (var i = 0; i < 2; ++i)
setTimeout(() => { throw "Primitive value"; }, 0);
}
var delayedResolver;
var delayedPromise = new Promise(resolve => { delayedResolver = resolve; });
//# sourceURL=console-repeat-count.js
`);
// Same Command multiple times with no immediate result.
ConsoleTestRunner.evaluateInConsolePromise('await delayedPromise');
ConsoleTestRunner.evaluateInConsolePromise('await delayedPromise');
await ConsoleTestRunner.waitForConsoleMessagesPromise(2);
// Multiple Results with the same value.
await TestRunner.evaluateInPagePromise(`delayedResolver()`);
await ConsoleTestRunner.waitForConsoleMessagesPromise(4);
await TestRunner.evaluateInPagePromise('dumpMessages()');
await TestRunner.evaluateInPagePromise('throwPrimitiveValues()');
await TestRunner.evaluateInPagePromise('throwObjects()');
await ConsoleTestRunner.waitForConsoleMessagesPromise(11);
await ConsoleTestRunner.dumpConsoleMessages();
TestRunner.completeTest();
})();