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 { TabPanePowerBattery } from '../../../../../../src/trace/component/trace/sheet/energy/TabPanePowerBattery'; 17import '../../../../../../src/trace/component/trace/sheet/energy/TabPanePowerBattery'; 18import { LitTable } from '../../../../../../src/base-ui/table/lit-table'; 19 20window.ResizeObserver = 21 window.ResizeObserver || 22 jest.fn().mockImplementation(() => ({ 23 observe: jest.fn(), 24 disconnect: jest.fn(), 25 unobserve: jest.fn(), 26 })); 27jest.mock('../../../../../../src/trace/database/ui-worker/ProcedureWorker', () => { 28 return {}; 29}); 30const sqlit = require('../../../../../../src/trace/database/sql/ProcessThread.sql'); 31jest.mock('../../../../../../src/trace/database/sql/ProcessThread.sql'); 32jest.mock('../../../../../../src/js-heap/model/DatabaseStruct', () => {}); 33jest.mock('../../../../../../src/trace/database/ui-worker/ProcedureWorkerSnapshot', () => { 34 return {}; 35}); 36 37describe('TabPanePowerBattery Test', () => { 38 it('TabPanePowerBatteryTest01', function () { 39 document.body.innerHTML = `<lit-table id="tb-power-battery-energy"></lit-table>`; 40 let litTable = document.querySelector('#tb-power-battery-energy') as LitTable; 41 let tabPanePowerBattery = new TabPanePowerBattery(); 42 tabPanePowerBattery.tblPower = jest.fn(() => litTable); 43 let MockPowerBatteryData = sqlit.getTabPowerBatteryData; 44 let battery = [ 45 { 46 ts: 1000, 47 eventName: 'POWER_IDE_BATTERY', 48 appKey: 'appname', 49 eventValue: 'POWER_IDE,POWER_IDE,POWER_IDE,POWER_IDE', 50 }, 51 { 52 ts: 1000, 53 eventName: 'POWER_IDE_BATTERY', 54 appKey: 'appname', 55 eventValue: 'POWER_IDE,POWER_IDE,POWER_IDE,POWER_IDE', 56 }, 57 ]; 58 MockPowerBatteryData.mockResolvedValue(battery); 59 let tabPanePowerBatteryData = { 60 cpus: [0], 61 threadIds: [56], 62 trackIds: [9, 4], 63 funTids: [42, 1], 64 heapIds: [1, 52], 65 nativeMemory: [], 66 cpuAbilityIds: [88, 10], 67 memoryAbilityIds: [11, 69], 68 diskAbilityIds: [23, 76], 69 networkAbilityIds: [5, 9], 70 leftNs: 10225, 71 rightNs: 965003, 72 hasFps: false, 73 statisticsSelectData: undefined, 74 perfSampleIds: [75,9,7], 75 perfCpus: [], 76 perfProcess: [], 77 perfThread: [], 78 perfAll: true, 79 systemEnergy: [0, 1, 2], 80 powerEnergy: [45, 8, 2], 81 anomalyEnergy: [12, 898, 2], 82 }; 83 tabPanePowerBattery.tblPower.recycleDataSource = jest.fn(() => tabPanePowerBatteryData); 84 tabPanePowerBattery.data = tabPanePowerBatteryData; 85 }); 86}); 87