[go: nahoru, domu]

blob: 565a7e876bf88774f702234bb16ba2766081b1a0 [file] [log] [blame]
// 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.
import {assert} from 'chai';
import {
getBrowserAndPages,
getTestServerPort,
goToResource,
waitForElementWithTextContent,
} from '../../shared/helper.js';
import {describe, it} from '../../shared/mocha-extensions.js';
import {
clearCoverageContent,
getCoverageData,
navigateToCoverageTestSite,
startInstrumentingCoverage,
stopInstrumentingCoverage,
waitForTheCoveragePanelToLoad,
} from '../helpers/coverage-helpers.js';
describe('The Coverage Panel', async () => {
it('Loads correctly', async () => {
await waitForTheCoveragePanelToLoad();
});
it('Can start and stop instrumenting coverage', async () => {
await waitForTheCoveragePanelToLoad();
await navigateToCoverageTestSite();
await startInstrumentingCoverage();
await stopInstrumentingCoverage();
await clearCoverageContent();
});
it('Shows completly uncovered css files', async () => {
const {target} = getBrowserAndPages();
await goToResource('coverage/unused-css-coverage.html');
await waitForTheCoveragePanelToLoad();
await startInstrumentingCoverage();
const URL_PREFIX = `https://localhost:${getTestServerPort()}/test/e2e/resources/coverage`;
assert.deepEqual(await getCoverageData(5), [
{
'total': '283',
'unused': '276',
'url': `${URL_PREFIX}/unused-css-coverage.html`,
},
{
'total': '198',
'unused': '198',
'url': `${URL_PREFIX}/not-initially-used.css`,
},
{
'total': '196',
'unused': '196',
'url': `${URL_PREFIX}/unused.css`,
},
{
'total': '198',
'unused': '174',
'url': `${URL_PREFIX}/used.css`,
},
{
'total': '0',
'unused': '0',
'url': `${URL_PREFIX}/empty.css`,
},
]);
await target.evaluate('appendStylesheet()');
assert.deepInclude(await getCoverageData(6), {
'total': '0',
'unused': '0',
'url': `${URL_PREFIX}/lazily-loaded.css`,
});
await target.evaluate('appendElement()');
await waitForElementWithTextContent(`${URL_PREFIX}/not-initially-used.cssCSS198198100%`);
assert.deepInclude(await getCoverageData(6), {
'total': '198',
'unused': '198',
'url': `${URL_PREFIX}/not-initially-used.css`,
});
});
});