• 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
16import { SpSystemTrace } from '../../../src/trace/component/SpSystemTrace';
17import { TraceRow } from '../../../src/trace/component/trace/base/TraceRow';
18import { procedurePool } from '../../../src/trace/database/Procedure';
19jest.mock('../../../src/base-ui/table/lit-table', () => {
20  return {
21    recycleDataSource: () => {},
22  };
23});
24jest.mock('../../../src/js-heap/logic/HeapLoader', () => {
25  return {};
26});
27jest.mock('../../../src/js-heap/model/DatabaseStruct', () => {
28  return {};
29});
30jest.mock('../../../src/trace/component/trace/base/TraceSheet', () => {
31  return {};
32});
33jest.mock('../../../src/trace/database/SqlLite');
34const intersectionObserverMock = () => ({
35  observe: () => null,
36});
37window.IntersectionObserver = jest.fn().mockImplementation(intersectionObserverMock);
38
39// @ts-ignore
40window.ResizeObserver =
41  window.ResizeObserver ||
42  jest.fn().mockImplementation(() => ({
43    disconnect: jest.fn(),
44    observe: jest.fn(),
45    unobserve: jest.fn(),
46  }));
47
48describe('SpSystemTrace Test', () => {
49  let spSystemTrace = new SpSystemTrace();
50  const offset = 1;
51  const callback = true;
52  const rowId = '';
53  const rowParentId = '';
54  const rowType = '';
55  let smooth = true;
56
57  spSystemTrace.initElements = jest.fn(() => true);
58
59  it('SpSystemTraceTest01', function () {
60    expect(spSystemTrace.getScrollWidth()).toBe(0);
61  });
62
63  it('SpSystemTraceTest02', function () {
64    let resultLength = spSystemTrace.getRowsContentHeight();
65    expect(resultLength).toBe(0);
66  });
67
68  it('SpSystemTraceTest03', function () {
69    expect(spSystemTrace.timerShaftELRangeChange('')).toBeUndefined();
70  });
71
72  it('SpSystemTraceTest04', function () {
73    expect(spSystemTrace.rowsElOnScroll('Scroll')).toBeUndefined();
74  });
75
76  it('SpSystemTraceTest05', function () {
77    expect(spSystemTrace.documentOnMouseDown('MouseDown')).toBeUndefined();
78  });
79
80  it('SpSystemTraceTest06', function () {
81    spSystemTrace.timerShaftEL = jest.fn(() => null);
82    spSystemTrace.timerShaftEL.sportRuler = jest.fn(() => undefined);
83    spSystemTrace.timerShaftEL.sportRuler.frame = jest.fn(() => '');
84    spSystemTrace.timerShaftEL.canvas = jest.fn(() => undefined);
85    spSystemTrace.timerShaftEL.canvas.offsetLeft = jest.fn(() => 1);
86    spSystemTrace.timerShaftEL.sportRuler.frame.contains = jest.fn(() => true);
87    spSystemTrace.documentOnMouseUp = jest.fn(() => true);
88    expect(spSystemTrace.documentOnMouseUp('MouseUp')).toBeTruthy();
89  });
90
91  it('SpSystemTraceTest07', function () {
92    spSystemTrace.timerShaftEL = jest.fn(() => undefined);
93    spSystemTrace.timerShaftEL.isScaling = jest.fn(() => true);
94    expect(spSystemTrace.documentOnMouseMove('MouseMove')).toBeUndefined();
95  });
96
97  it('SpSystemTraceTest08', function () {
98    expect(spSystemTrace.hoverStructNull('')).toBeUndefined();
99  });
100
101  it('SpSystemTraceTest09', function () {
102    expect(spSystemTrace.selectStructNull('')).toBeUndefined();
103  });
104
105  it('SpSystemTraceTest11', function () {
106    expect(spSystemTrace.connectedCallback()).toBeUndefined();
107  });
108
109  it('SpSystemTraceTest12', function () {
110    spSystemTrace.timerShaftEL.removeEventListener = jest.fn(() => true);
111    expect(spSystemTrace.disconnectedCallback()).toBeUndefined();
112  });
113
114  it('SpSystemTraceTest14', function () {
115    expect(spSystemTrace.loadDatabaseUrl).toBeTruthy();
116  });
117
118  it('SpSystemTraceTest15', function () {
119    spSystemTrace.rowsPaneEL = jest.fn(() => true);
120    spSystemTrace.rowsPaneEL.scrollTo = jest.fn(() => offset);
121    spSystemTrace.rowsPaneEL.removeEventListener = jest.fn(() => true);
122    spSystemTrace.rowsPaneEL.addEventListener = jest.fn(() => true);
123    expect(spSystemTrace.scrollToActFunc(offset, callback)).toBeUndefined();
124  });
125
126  it('SpSystemTraceTest16', function () {
127    let spSystemTrace = new SpSystemTrace<any>({
128      canvasNumber: 1,
129      alpha: true,
130      contextId: '2d',
131      isOffScreen: true,
132    });
133    expect(spSystemTrace.onClickHandler()).toBeUndefined();
134  });
135
136  it('SpSystemTraceTest17', function () {
137    let spSystemTrace = new SpSystemTrace<any>({
138      canvasNumber: 1,
139      alpha: true,
140      contextId: '2d',
141      isOffScreen: true,
142    });
143    expect(spSystemTrace.search()).toBeUndefined();
144  });
145
146  it('SpSystemTraceTest18', function () {
147    let spSystemTrace = new SpSystemTrace<any>({
148      canvasNumber: 1,
149      alpha: true,
150      contextId: '2d',
151      isOffScreen: true,
152    });
153    expect(spSystemTrace.searchCPU()).not.toBeUndefined();
154  });
155
156  it('SpSystemTraceTest22', function () {
157    let spSystemTrace = new SpSystemTrace<any>({
158      canvasNumber: 1,
159      alpha: true,
160      contextId: '2d',
161      isOffScreen: true,
162    });
163    procedurePool.clearCache = jest.fn(() => true);
164    spSystemTrace.traceSheetEL = jest.fn(() => true);
165    spSystemTrace.traceSheetEL.clearMemory = jest.fn(() => true);
166    spSystemTrace.traceSheetEL.setAttribute = jest.fn(() => true);
167    expect(spSystemTrace.reset()).toBeUndefined();
168  });
169  it('SpSystemTraceTest23', function () {
170    let spSystemTrace = new SpSystemTrace<any>({
171      canvasNumber: 1,
172      alpha: true,
173      contextId: '2d',
174      isOffScreen: true,
175    });
176    let structs = [
177      {
178        length: 1,
179        starttime: 1,
180      },
181    ];
182    let previous = 1;
183    let currentIndex = 1;
184    TraceRow.range = jest.fn(() => undefined);
185    TraceRow.range.startNS = jest.fn(() => 1);
186    expect(spSystemTrace.showStruct(previous, currentIndex, structs)).not.toBeUndefined();
187  });
188  it('SpSystemTraceTest24', function () {
189    let spSystemTrace = new SpSystemTrace<any>({
190      canvasNumber: 1,
191      alpha: true,
192      contextId: '2d',
193      isOffScreen: true,
194    });
195    TraceRow.range = jest.fn(() => undefined);
196    TraceRow.range.startNS = jest.fn(() => 1);
197    expect(spSystemTrace.closeAllExpandRows()).toBeUndefined();
198  });
199  it('SpSystemTraceTest25', function () {
200    let spSystemTrace = new SpSystemTrace<any>({
201      canvasNumber: 1,
202      alpha: true,
203      contextId: '2d',
204      isOffScreen: true,
205    });
206    spSystemTrace.rowsPaneEL = jest.fn(() => true);
207    spSystemTrace.rowsPaneEL.scroll = jest.fn(() => true);
208    expect(spSystemTrace.scrollToProcess()).toBeUndefined();
209  });
210  it('SpSystemTraceTest26', function () {
211    let spSystemTrace = new SpSystemTrace<any>({
212      canvasNumber: 1,
213      alpha: true,
214      contextId: '2d',
215      isOffScreen: true,
216    });
217    spSystemTrace.rowsPaneEL = jest.fn(() => true);
218    spSystemTrace.rowsPaneEL.scroll = jest.fn(() => true);
219    let anomalyTraceRow = TraceRow.skeleton();
220    anomalyTraceRow.collect = true;
221    spSystemTrace.appendChild(anomalyTraceRow);
222    expect(spSystemTrace.scrollToDepth()).toBeUndefined();
223  });
224  it('SpSystemTraceTest28', function () {
225    let spSystemTrace = new SpSystemTrace<any>({
226      canvasNumber: 1,
227      alpha: true,
228      contextId: '2d',
229      isOffScreen: true,
230    });
231    expect(spSystemTrace.refreshFavoriteCanvas()).toBeUndefined();
232  });
233  it('SpSystemTraceTest29', function () {
234    let spSystemTrace = new SpSystemTrace<any>({
235      canvasNumber: 1,
236      alpha: true,
237      contextId: '2d',
238      isOffScreen: true,
239    });
240    expect(spSystemTrace.expansionAllParentRow({ id: 1 })).toBeUndefined();
241  });
242  it('SpSystemTraceTest30', function () {
243    let spSystemTrace = new SpSystemTrace<any>({
244      canvasNumber: 1,
245      alpha: true,
246      contextId: '2d',
247      isOffScreen: true,
248    });
249    let it = {
250      name: '',
251      rowType: '',
252      rowId: 'FileSystemLogicalWrite',
253      rowParentId: 'frameTime',
254    };
255    expect(spSystemTrace.createPointEvent(it)).toBe('');
256  });
257  it('SpSystemTraceTest31', function () {
258    let spSystemTrace = new SpSystemTrace<any>({
259      canvasNumber: 1,
260      alpha: true,
261      contextId: '2d',
262      isOffScreen: true,
263    });
264    let a = {
265      rowEL: {
266        translateY: 1,
267        offsetTop: 0,
268      },
269      y: 1,
270      offsetY: 0,
271    };
272    let b = {
273      rowEL: {
274        translateY: 1,
275        offsetTop: 0,
276      },
277      y: 1,
278      offsetY: 0,
279    };
280    expect(spSystemTrace.addPointPair(a, b)).toBeUndefined();
281  });
282  it('SpSystemTraceTest32', function () {
283    let spSystemTrace = new SpSystemTrace<any>({
284      canvasNumber: 1,
285      alpha: true,
286      contextId: '2d',
287      isOffScreen: true,
288    });
289    expect(spSystemTrace.setSLiceMark()).toBeUndefined();
290  });
291  it('SpSystemTraceTest33', function () {
292    let spSystemTrace = new SpSystemTrace<any>({
293      canvasNumber: 1,
294      alpha: true,
295      contextId: '2d',
296      isOffScreen: true,
297    });
298    expect(spSystemTrace.clickEmptyArea()).toBeUndefined();
299  });
300  it('SpSystemTraceTest34', function () {
301    let spSystemTrace = new SpSystemTrace<any>({
302      canvasNumber: 1,
303      alpha: true,
304      contextId: '2d',
305      isOffScreen: true,
306    });
307    expect(spSystemTrace.isWASDKeyPress()).toBeFalsy();
308  });
309  it('SpSystemTraceTest35', function () {
310    let spSystemTrace = new SpSystemTrace<any>({
311      canvasNumber: 1,
312      alpha: true,
313      contextId: '2d',
314      isOffScreen: true,
315    });
316    let selectJankStruct = {
317      frame_type: 'frameTime',
318      type: '',
319      pid: 1,
320      ts: 1,
321      dur: 0,
322      depth: 1,
323    };
324    let data = {
325      frame_type: 'frameTime',
326      type: '',
327      pid: 1,
328      name: '',
329      children: {
330        frame_type: 'frameTime',
331        pid: 1,
332        length: 1,
333      },
334    };
335
336    expect(spSystemTrace.drawJankLine(null, selectJankStruct, data)).toBeUndefined();
337  });
338  it('SpSystemTraceTest36', function () {
339    let spSystemTrace = new SpSystemTrace<any>({
340      canvasNumber: 1,
341      alpha: true,
342      contextId: '2d',
343      isOffScreen: true,
344    });
345    let ev = {
346      maxDuration: 1,
347      timestamp: '',
348    };
349    expect(spSystemTrace.sliceMarkEventHandler(ev)).toBeUndefined();
350  });
351  it('SpSystemTraceTest37', function () {
352    let spSystemTrace = new SpSystemTrace<any>({
353      canvasNumber: 1,
354      alpha: true,
355      contextId: '2d',
356      isOffScreen: true,
357    });
358    expect(spSystemTrace.searchSdk([''], '')).toStrictEqual(['']);
359  });
360  it('SpSystemTraceTest38', function () {
361    let spSystemTrace = new SpSystemTrace<any>({
362      canvasNumber: 1,
363      alpha: true,
364      contextId: '2d',
365      isOffScreen: true,
366    });
367    let funcStract = {
368      tid: 1,
369      pid: 0,
370      cookie: '',
371      funName: '',
372      type: '',
373      startTime: 2,
374      depth: 1,
375    };
376    expect(spSystemTrace.scrollToActFunc(funcStract, true)).toBeUndefined();
377  });
378});
379