• 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 { 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