• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2024 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15import {test, Page} from '@playwright/test';
16import {PerfettoTestHelper} from './perfetto_ui_test_helper';
17
18test.describe.configure({mode: 'serial'});
19
20let pth: PerfettoTestHelper;
21let page: Page;
22
23test.beforeAll(async ({browser}, _testInfo) => {
24  page = await browser.newPage();
25  pth = new PerfettoTestHelper(page);
26  await pth.openTraceFile('track_event_ordered.pb');
27});
28
29test('load trace', async () => {
30  await pth.waitForIdleAndScreenshot('loaded.png');
31});
32
33test('chronological order', async () => {
34  const chronologicalGrp = pth.locateTrack('Root Chronological');
35  await chronologicalGrp.scrollIntoViewIfNeeded();
36  await pth.toggleTrackGroup(chronologicalGrp);
37
38  await pth.waitForIdleAndScreenshot('chronological.png');
39});
40
41test('explicit order', async () => {
42  const explicitGrp = pth.locateTrack('Root Explicit');
43  await explicitGrp.scrollIntoViewIfNeeded();
44  await pth.toggleTrackGroup(explicitGrp);
45
46  await pth.waitForIdleAndScreenshot('explicit.png');
47});
48
49test('lexicographic tracks', async () => {
50  const lexicographicGrp = pth.locateTrack('Root Lexicographic');
51  await lexicographicGrp.scrollIntoViewIfNeeded();
52  await pth.toggleTrackGroup(lexicographicGrp);
53
54  await pth.waitForIdleAndScreenshot('lexicographic.png');
55});
56