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 {
17  ProcedureLogicWorkerCpuState,
18  CpuState,
19} from '../../../../src/trace/database/logic-worker/ProcedureLogicWorkerCpuState';
20describe('ProcedureLogicWorkerCpuState Test', () => {
21  it('ProcedureLogicWorkerCpuStateTest01', function () {
22    let procedureLogicWorkerCpuState = new ProcedureLogicWorkerCpuState();
23    expect(procedureLogicWorkerCpuState).not.toBeUndefined();
24  });
25
26  it('ProcedureLogicWorkerCpuStateTest02', function () {
27    let procedureLogicWorkerCpuState = new ProcedureLogicWorkerCpuState();
28    let arr = [
29      {
30        startTs: 1,
31        endTs: 1,
32        length: 1,
33      },
34    ];
35    expect(procedureLogicWorkerCpuState.supplementCpuState(arr)).toEqual([
36      { dur: 1, endTs: 1, startTs: 0, value: 3 },
37      { endTs: 1, length: 1, startTs: 1 },
38    ]);
39  });
40
41  it('ProcedureLogicWorkerCpuStateTest03', function () {
42    let procedureLogicWorkerCpuState = new ProcedureLogicWorkerCpuState();
43    let data = {
44      type: 'CpuState-getCpuState',
45      params: {
46        list: true,
47      },
48    };
49    window.postMessage = jest.fn(() => true);
50    expect(procedureLogicWorkerCpuState.handle(data)).toBeUndefined();
51  });
52
53  it('ProcedureLogicWorkerCpuStateTest04', function () {
54    let cpuState = new CpuState();
55    cpuState = {
56      startTs: 0,
57      endTs: 0,
58      dur: 0,
59      value: 0,
60    };
61    expect(cpuState).not.toBeUndefined();
62  });
63  it('ProcedureLogicWorkerCpuStateTest05', function () {
64    let procedureLogicWorkerCpuState = new ProcedureLogicWorkerCpuState();
65    let data = {
66      type: 'CpuState-getCpuState',
67      params: {
68        list: false,
69      },
70    };
71    window.postMessage = jest.fn(() => true);
72    expect(procedureLogicWorkerCpuState.handle(data)).toBeUndefined();
73  });
74  it('ProcedureLogicWorkerCpuStateTest06', function () {
75    let procedureLogicWorkerCpuState = new ProcedureLogicWorkerCpuState();
76
77    window.postMessage = jest.fn(() => true);
78    expect(procedureLogicWorkerCpuState.queryData()).toBeUndefined();
79  });
80  it('ProcedureLogicWorkerCpuStateTest07', function () {
81    let procedureLogicWorkerCpuState = new ProcedureLogicWorkerCpuState();
82
83    window.postMessage = jest.fn(() => true);
84    expect(procedureLogicWorkerCpuState.getCpuState()).toBeUndefined();
85  });
86});
87