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