/* * Copyright (C) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { chartIrqDataSql, chartIrqDataSqlMem, irqDataReceiver, } from '../../../../src/trace/database/data-trafic/IrqDataReceiver'; import { TraficEnum } from "../../../../src/trace/database/data-trafic/utils/QueryEnum"; describe('IrqReceiver Test', () => { let data1; let data2; let proc; beforeEach(() => { data1 = { params: { trafic: TraficEnum.ProtoBuffer, cpu: 0, endNS: 19473539059, name: 'irq', recordEndNS: 30167849973030, recordStartNS: 30148376433971, startNS: 0, t: 1703665514720, width: 708, sharedArrayBuffers: {}, }, }; data2 = { params: { trafic: TraficEnum.Memory, cpu: 0, endNS: 19473539059, name: 'irq', recordEndNS: 30167849973030, recordStartNS: 30148376433971, startNS: 0, t: 1703665514720, width: 708, sharedArrayBuffers: {}, }, }; proc = jest.fn((sql) => [ { irqData: { argSetId: 74, dur: 3646, id: 74, startNs: 4255208 } }, { irqData: { argSetId: 400, dur: 3125, id: 397, startNs: 38229687 } }, ]); }); test('IrqReceiverTest01', () => { const args = { trafic: TraficEnum.ProtoBuffer, cpu: 0, endNS: 19473539059, name: 'irq', recordEndNS: 30167849973030, recordStartNS: 30148376433971, startNS: 0, t: 1703665514720, width: 708, sharedArrayBuffers: {}, }; expect(chartIrqDataSql(args)).toBeTruthy(); }); test('IrqReceiverTest02', () => { const args = { trafic: TraficEnum.Memory, cpu: 0, endNS: 19473539059, name: 'irq', recordEndNS: 30167849973030, recordStartNS: 30148376433971, startNS: 0, t: 1703665514720, width: 708, sharedArrayBuffers: {}, }; expect(chartIrqDataSqlMem(args)).toBeTruthy(); }); test('IrqReceiverTest03', () => { let mockPostMessage = jest.fn(); global.postMessage = mockPostMessage; irqDataReceiver(data1, proc); expect(mockPostMessage).toHaveBeenCalledTimes(1); }); test('IrqReceiverTest04', () => { let mockPostMessage = jest.fn(); global.postMessage = mockPostMessage; irqDataReceiver(data2, proc); expect(mockPostMessage).toHaveBeenCalledTimes(1); }); });