forked from ChromeDevTools/devtools-frontend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcss-overview-helpers.ts
72 lines (62 loc) · 2.64 KB
/
css-overview-helpers.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// 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 {$, click, waitFor, waitForNone} from '../../shared/helper.js';
import {openPanelViaMoreTools} from './settings-helpers.js';
import {expectVeEvents, veClick, veImpression, veImpressionsUnder} from './visual-logging-helpers.js';
const CSS_OVERVIEW_PANEL_CONTENT = '.view-container[aria-label="CSS overview panel"]';
const CSS_OVERVIEW_TAB_SELECTOR = '#tab-cssoverview';
const CSS_OVERVIEW_PANEL_TITLE = 'CSS overview';
const CSS_OVERVIEW_CAPTURE_BUTTON_SELECTOR = '.start-capture';
const CSS_OVERVIEW_COMPLETED_VIEW_SELECTOR = '.overview-completed-view';
export async function navigateToCssOverviewTab() {
const cssOverviewTab = await $(CSS_OVERVIEW_TAB_SELECTOR);
if (!cssOverviewTab) {
await openCSSOverviewPanelFromMoreTools();
} else {
await click(CSS_OVERVIEW_TAB_SELECTOR);
await cssOverviewPanelContentIsLoaded();
}
}
export async function cssOverviewTabExists() {
await waitFor(CSS_OVERVIEW_TAB_SELECTOR);
}
export async function cssOverviewTabDoesNotExist() {
await waitForNone(CSS_OVERVIEW_TAB_SELECTOR);
}
export async function cssOverviewPanelContentIsLoaded() {
await waitFor(CSS_OVERVIEW_PANEL_CONTENT);
await expectVeEvents([veImpressionForCssOverviewPanel()]);
}
export async function openCSSOverviewPanelFromMoreTools() {
await openPanelViaMoreTools(CSS_OVERVIEW_PANEL_TITLE);
await cssOverviewTabExists();
await cssOverviewPanelContentIsLoaded();
}
export async function startCaptureCSSOverview() {
await click(CSS_OVERVIEW_CAPTURE_BUTTON_SELECTOR);
await waitFor(CSS_OVERVIEW_COMPLETED_VIEW_SELECTOR);
await expectVeEvents([
veClick('Panel: css-overview > Action: css-overview.capture-overview'),
veImpressionsUnder(
'Panel: css-overview',
[
veImpression('Action', 'css-overview.clear-overview'),
veImpression('Action', 'css-overview.color'),
veImpression('Action', 'css-overview.contrast'),
veImpression('Item', 'css-overview.colors'),
veImpression('Item', 'css-overview.font-info'),
veImpression('Item', 'css-overview.media-queries'),
veImpression('Item', 'css-overview.summary'),
veImpression('Item', 'css-overview.unused-declarations'),
]),
]);
}
function veImpressionForCssOverviewPanel() {
return veImpressionsUnder('Panel: css-overview', [
veImpression('Action', 'css-overview.capture-overview'),
veImpression('Action', 'feedback'),
veImpression('Link', 'css-overview.quick-start'),
veImpression('Link', 'feedback'),
]);
}