• 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
16// @ts-ignore
17import { RangeSelect } from '../../../../../dist/trace/component/trace/base/RangeSelect.js';
18// @ts-ignore
19import { TraceRow } from '../../../../../dist/trace/component/trace/base/TraceRow.js';
20jest.mock('../../../../../dist/trace/database/ui-worker/ProcedureWorker.js', () => {
21  return {};
22});
23
24describe('RangeSelect Test', () => {
25  beforeAll(() => {});
26
27  it('Utils Test01', () => {
28    let rangeSelect = new RangeSelect();
29    expect(rangeSelect).not.toBeUndefined();
30  });
31
32  it('Utils Test02', () => {
33    let rangeSelect = new RangeSelect();
34    rangeSelect.rowsEL = document.createElement('div');
35    let mouseEvent = new MouseEvent('mousedown', {
36      button: 1,
37      buttons: 0,
38      clientX: 21,
39      clientY: 100,
40      screenX: 255,
41      screenY: 321,
42    });
43    let htmlElement = document.createElement('div');
44    rangeSelect.rowsPaneEL = htmlElement;
45    rangeSelect.timerShaftDragEL = jest.fn(() => true);
46    rangeSelect.timerShaftDragEL.timerShaftDragEL = jest.fn(() => true);
47    expect(rangeSelect.isInRowsEl(mouseEvent)).toBeFalsy();
48  });
49  it('Utils Test09', () => {
50    let rangeSelect = new RangeSelect();
51    rangeSelect.rowsEL = document.createElement('div');
52    let mouseEvent = new MouseEvent('mousedown', {
53      button: 0,
54      buttons: 65,
55      clientX: 63,
56      clientY: 1300,
57      screenX: 325,
58      screenY: 325,
59    });
60    let htmlElement = document.createElement('div');
61    rangeSelect.spacerEL = htmlElement;
62    expect(rangeSelect.isInSpacerEL(mouseEvent)).toBeFalsy();
63  });
64
65  it('Utils Test05', () => {
66    let rangeSelect = new RangeSelect();
67    rangeSelect.isInRowsEl = jest.fn(() => true);
68    rangeSelect.rowsEL = {
69      // offsetTop: 100,
70      offsetHeight: 71,
71      offsetLeft: 15,
72      offsetWidth: 134,
73    };
74    let mouseEvent = new MouseEvent('mousedown', {
75      // @ts-ignore
76      offsetY: 1,
77      offsetX: 1,
78      button: 1,
79      buttons: 0,
80      clientX: 2,
81      clientY: 101,
82      screenX: 255,
83      screenY: 321,
84    });
85    let divElement = document.createElement('div');
86    rangeSelect.rowsPaneEL = divElement;
87    rangeSelect.spacerEL = jest.fn(() => true);
88    rangeSelect.spacerEL.offsetTop = jest.fn(() => true);
89    rangeSelect.rowsPaneEL.scrollTop = 0;
90    rangeSelect.rowsEL.getBoundingClientRect = jest.fn(() => true);
91    let htmlElement = document.createElement('div');
92    rangeSelect.spacerEL = htmlElement;
93    expect(rangeSelect.mouseDown(mouseEvent)).toBeUndefined();
94  });
95
96  it('Utils Test07', () => {
97    let rangeSelect = new RangeSelect();
98    rangeSelect.isInRowsEl = jest.fn(() => true);
99    rangeSelect.isDrag = jest.fn(() => true);
100
101    rangeSelect.rowsEL = {
102      offsetTop: 102,
103      offsetHeight: 540,
104      offsetLeft: 390,
105      offsetWidth: 1102,
106    };
107    let mouseEvent = new MouseEvent('mousedown', {
108      // @ts-ignore
109      offsetY: 1,
110      offsetX: 1,
111      button: 2,
112      buttons: 0,
113      clientX: 2,
114      clientY: 100,
115      screenX: 252,
116      screenY: 325,
117    });
118    rangeSelect.spacerEL = jest.fn(() => true);
119    rangeSelect.spacerEL.offsetTop = jest.fn(() => 1);
120    expect(rangeSelect.mouseUp(mouseEvent)).toBeUndefined();
121  });
122
123  it('Utils Test08', () => {
124    let rangeSelect = new RangeSelect();
125    rangeSelect.isInRowsEl = jest.fn(() => true);
126    rangeSelect.isDrag = jest.fn(() => true);
127    rangeSelect.isMouseDown = true;
128    let rowsELDiv = document.createElement('div');
129    rangeSelect.rowsEL = rowsELDiv;
130    let rows = [
131      {
132        frame: {
133          x: 1,
134          width: 10,
135          y: 2,
136          height: 10,
137        },
138        offsetTop: 100,
139        offsetHeight: 200,
140        offsetLeft: 0,
141        offsetWidth: 100,
142      },
143    ];
144    let mouseEvent = new MouseEvent('mousedown', {
145      // @ts-ignore
146      offsetY: 12,
147      offsetX: 1,
148      button: 0,
149      buttons: 0,
150      clientX: 3,
151      clientY: 100,
152      screenX: 252,
153      screenY: 325,
154    });
155    rangeSelect.timerShaftDragEL = jest.fn(() => true);
156    rangeSelect.timerShaftEL = jest.fn(() => true);
157    rangeSelect.timerShaftEL.sportRuler = jest.fn(() => true);
158    rangeSelect.timerShaftEL.sportRuler.isRangeSelect = jest.fn(() => true);
159    rangeSelect.timerShaftEL.sportRuler.draw = jest.fn(() => true);
160    rangeSelect.timerShaftDragEL.timerShaftDragEL = jest.fn(() => 0);
161    rangeSelect.spacerEL = jest.fn(() => true);
162    rangeSelect.spacerEL.offsetTop = jest.fn(() => 1);
163    rangeSelect.ns2x = jest.fn(() => 1);
164    rangeSelect.mouseX = jest.fn(() => 10);
165    rangeSelect.markA = jest.fn(() => 8);
166    rangeSelect.markB = jest.fn(() => 9);
167    let htmlElement = document.createElement('div');
168    rangeSelect.spacerEL = htmlElement;
169    let rowElement = document.createElement('div');
170    rangeSelect.rowsPaneEL = rowElement;
171    rangeSelect.favoriteRowsEL = rowElement;
172    let traceRowElement = document.createElement('trace-row') as TraceRow;
173    expect(rangeSelect.mouseMove([traceRowElement], mouseEvent)).toBeUndefined();
174  });
175
176  it('Utils Test10', () => {
177    let rangeSelect = new RangeSelect();
178    rangeSelect.isInRowsEl = jest.fn(() => true);
179    rangeSelect.isDrag = jest.fn(() => true);
180
181    rangeSelect.rowsEL = {
182      offsetTop: 93,
183      offsetHeight: 1030,
184      offsetLeft: 93,
185      offsetWidth: 210,
186    };
187    let mouseEvent = new MouseEvent('mousedown', {
188      // @ts-ignore
189      offsetY: 123,
190      offsetX: 1,
191      button: 3,
192      buttons: 0,
193      clientX: 22,
194      clientY: 100,
195      screenX: 255,
196      screenY: 322,
197    });
198    let htmlElement = document.createElement('div');
199    rangeSelect.rowsPaneEL = htmlElement;
200    rangeSelect.timerShaftDragEL = jest.fn(() => true);
201    rangeSelect.timerShaftDragEL.timerShaftDragEL = jest.fn(() => 0);
202    expect(rangeSelect.isTouchMark(mouseEvent)).toBeFalsy();
203  });
204
205  it('Utils Test06', () => {
206    let rangeSelect = new RangeSelect();
207    rangeSelect.isHover = true;
208    let mouseEvent = new MouseEvent('mousedown', {
209      // @ts-ignore
210      offsetY: 14,
211      offsetX: 1,
212      button: 4,
213      buttons: 0,
214      clientX: 2,
215      clientY: 104,
216      screenX: 255,
217      screenY: 325,
218    });
219    expect(rangeSelect.mouseDown(mouseEvent)).toBeUndefined();
220  });
221});
222