• 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 { Top10ProcessSwitchCount } from '../../../../../src/trace/component/schedulingAnalysis/processAnalysis/Top10ProcessSwitchCount';
17import { LitTable } from '../../../../../src/base-ui/table/lit-table';
18
19// @ts-ignore
20window.ResizeObserver =
21  window.ResizeObserver ||
22  jest.fn().mockImplementation(() => ({
23    disconnect: jest.fn(),
24    observe: jest.fn(),
25    unobserve: jest.fn(),
26  }));
27jest.spyOn(LitTable.prototype, 'reMeauseHeight').mockReturnValue(undefined);
28jest.mock('../../../../../src/base-ui/chart/pie/LitChartPie', () => {
29    return jest.fn().mockImplementation(() => {
30      return {
31        initHtml: jest.fn(),
32        initElements: jest.fn(),
33        updateData: jest.fn(),
34        measureInitialize: jest.fn(),
35      };
36    });
37  });
38describe('Top10ProcessSwitchCount Test', () => {
39  it('Top10ProcessSwitchCountTest01', () => {
40    let topProcess = new Top10ProcessSwitchCount();
41    topProcess.initHtml();
42    topProcess.initElements();
43    topProcess.traceChange = true;
44    topProcess.queryLogicWorker = jest.fn();
45    topProcess.processSwitchCountTbl.recycleDataSource = [1, 5, 7, 8];
46    expect(topProcess.clearData()).toBeUndefined();
47    let fu = (res: unknown) => {};
48    expect(topProcess.queryLogicWorker('1', '1', fu)).toBeUndefined();
49    expect(topProcess.init()).toBeUndefined();
50    expect(topProcess.initElements()).toBeUndefined();
51    expect(topProcess.sortByColumn({ key: 'pName', sort: 2 }, [])).toBeUndefined();
52    expect(topProcess.initHtml()).not.toBeUndefined();
53    expect(topProcess.initStyleHtml()).not.toBeUndefined();
54    expect(topProcess.initTagHtml()).not.toBeUndefined();
55    let data = [{ NO: 5, pid: 9, tid: 10, pName: 'oo', tName: 'sdf', switchCount: 5, occurrences: 7 }];
56    expect(topProcess.sortByColumn({ key: 'pName', sort: 2 }, data)).toBeUndefined();
57    expect(topProcess.sortByColumn({ key: 'tName', sort: 2 }, data)).toBeUndefined();
58    expect(topProcess.sortByColumn({ key: 'tid', sort: 2 }, data)).toBeUndefined();
59    expect(topProcess.threadCallback(data)).toBeUndefined();
60    expect(topProcess.organizationData(data)).not.toBeUndefined();
61    expect(topProcess.clearData()).toBeUndefined();
62  });
63  it('Top10ProcessSwitchCountTest02', () => {
64    let topProcess = new Top10ProcessSwitchCount();
65    topProcess.initHtml();
66    topProcess.initElements();
67    topProcess.traceChange = false;
68    topProcess.queryLogicWorker = jest.fn();
69    topProcess.processSwitchCountTbl.recycleDataSource = [1, 5, 7, 8];
70    expect(topProcess.init()).toBeUndefined();
71  });
72});
73