• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2022 Huawei Device Co., Ltd.
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 */
15
16jest.mock('../../../../dist/trace/component/trace/base/TraceRow.js', () => {
17  return {};
18});
19
20// @ts-ignore
21import {
22  RangeRuler,
23  SportRuler,
24  timeline,
25  TimelineRender,
26} from '../../../../dist/trace/database/ui-worker/ProcedureWorkerTimeline.js';
27// @ts-ignore
28import { Rect } from '../../../../dist/trace/component/trace/timer-shaft/Rect.js';
29
30jest.mock('../../../../dist/trace/database/ui-worker/ProcedureWorker.js', () => {
31    return {}; });
32
33describe(' ProcedureWorkerTimelineTest', () => {
34  it('timelineTest', () => {
35    const timelineCanvas = document.createElement('canvas');
36    timelineCanvas.width = 12;
37    timelineCanvas.height = 12;
38    const ctx = timelineCanvas.getContext('2d');
39    let dataList = new Array();
40    dataList.push({
41      startTime: 0,
42      dur: 120,
43      frame: { x: 0, y: 9, width: 120, height: 10 },
44    });
45    dataList.push({ startTime: 1, dur: 111 });
46    let rect = new Rect(0, 10, 10, 10);
47    timeline(timelineCanvas, ctx, 1, 100254, 100254, rect, null, null, null, null, null, null, 0, 0, (e: any) => {});
48  });
49
50    it('SportRulerTest01', () => {
51        const canvas = document.createElement('canvas');
52        canvas.width = 1;
53        canvas.height = 1;
54        const ctx = canvas.getContext('2d');
55        let rect = new Rect(0, 10, 10, 10);
56        let sportRuler = new SportRuler(canvas, ctx, rect);
57        sportRuler.modifyFlagList('amend');
58        sportRuler.modifyFlagList('remove');
59        sportRuler.drawTheFlag(0, '#999999', false, '');
60        sportRuler.randomRgbColor();
61        sportRuler.mouseMove(new MouseEvent(''));
62        sportRuler.mouseUp(new MouseEvent(''));
63        sportRuler.onFlagRangeEvent('1', 2);
64    });
65
66    it('SportRulerTest02', () => {
67        const canvas = document.createElement('canvas');
68        canvas.width = 2;
69        canvas.height = 1;
70        const ctx = canvas.getContext('2d');
71        let rect = new Rect(0, 20, 10, 20);
72        let rangeRuler = new RangeRuler(
73            canvas,
74            ctx,
75            rect,
76            {
77                startX: 10,
78                endX: rect.width,
79                startNS: 40,
80                endNS: 14,
81                totalNS: 155,
82                xs: [],
83                xsTxt: [],
84            },
85            (a: any) => {}
86        );
87        rangeRuler.draw();
88        rangeRuler.drawCpuUsage();
89        rangeRuler.mouseDown({ offsetX: 1, offsetY: 1 });
90        rangeRuler.mouseUp(new MouseEvent(''));
91        rangeRuler.mouseMove(new MouseEvent(''));
92        rangeRuler.mouseOut(new MouseEvent(''));
93        rangeRuler.range.startNS = -2;
94        rangeRuler.range.endNS = -2;
95        rangeRuler.range.totalNS = -7;
96        rangeRuler.fillX();
97        rangeRuler.keyPress(new KeyboardEvent(''));
98        rangeRuler.pressFrameId != -1;
99        rangeRuler.keyUp(new KeyboardEvent(''));
100        rangeRuler.keyUp({ key: 'w' });
101        rangeRuler.keyUp({ key: 's' });
102        rangeRuler.keyUp({ key: 'a' });
103        rangeRuler.keyUp({ key: 'd' });
104    });
105
106  it('SportRulerTest03', () => {
107    const canvas = document.createElement('canvas');
108    canvas.width = 1;
109    canvas.height = 4;
110    const ctx = canvas.getContext('2d');
111    let rect = new Rect(0, 50, 10, 50);
112    let rangeRuler = new RangeRuler(
113      canvas,
114      ctx,
115      rect,
116      {
117        startX: 60,
118        endX: rect.width,
119        startNS: 660,
120        endNS: 116,
121        totalNS: 661,
122        xs: [],
123        xsTxt: [],
124      },
125      (a: any) => {}
126    );
127    rangeRuler.cpuUsage = true;
128    expect(rangeRuler.cpuUsage).toBeUndefined();
129  });
130});
131