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