blob: 566b2185d186e5e7f637c5fed6124013b2a203a3 [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 the coverage list view after finishing recording in the Coverage view.\n`);
await TestRunner.loadModule('coverage_test_runner');
await CoverageTestRunner.startCoverage(true);
await TestRunner.loadHTML(`
<iframe src="resources/subframe.html"></iframe>
<p class="class">
</p>
`);
await TestRunner.addStylesheetTag('resources/highlight-in-source.css');
await TestRunner.addScriptTag('resources/coverage.js');
await TestRunner.evaluateInPagePromise('performActions(); frames[0].performActionsInFrame()');
await CoverageTestRunner.stopCoverage();
const coverageView = self.runtime.sharedInstance(Coverage.CoverageView);
const dataGrid = coverageView._listView._dataGrid;
for (const child of dataGrid.rootNode().children) {
const data = child._coverageInfo;
const url = TestRunner.formatters.formatAsURL(data.url());
if (url.startsWith('test://'))
continue;
const type = Coverage.coverageTypeToString(data.type());
TestRunner.addResult(`${url} ${type} used: ${data.usedSize()} unused: ${data.unusedSize()} total: ${data.size()}`);
}
await CoverageTestRunner.dumpDecorations('highlight-in-source.css');
await CoverageTestRunner.dumpDecorations('coverage.js');
TestRunner.completeTest();
})();