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 ProcedureLogicWorkerJsCpuProfiler, 18 JsCpuProfilerSample, 19} from '../../../../src/trace/database/logic-worker/ProcedureLogicWorkerJsCpuProfiler'; 20 21describe('ProcedureLogicWorkerJsCpuProfiler Test', () => { 22 it('ProcedureLogicWorkerJsCpuProfiler01', function () { 23 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 24 expect(procedureLogicWorkerJsCpuProfiler).not.toBeUndefined(); 25 }); 26 27 it('ProcedureLogicWorkerJsCpuProfiler02', function () { 28 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 29 let data = { 30 id: '3b21cea8-3554-4aa6-8e4d-7d30672dedca', 31 type: 'jsCpuProfiler-init', 32 params: { 33 list: new ArrayBuffer(20), 34 }, 35 }; 36 window.postMessage = jest.fn(() => true); 37 expect(procedureLogicWorkerJsCpuProfiler.handle(data)).toBeUndefined(); 38 }); 39 40 it('ProcedureLogicWorkerJsCpuProfiler03', function () { 41 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 42 let data = { 43 type: 'jsCpuProfiler-call-chain', 44 params: { 45 list: [], 46 }, 47 id: '3b21cea8-3554-4aa6-8e4d-7d30672dedca', 48 }; 49 window.postMessage = jest.fn(() => true); 50 procedureLogicWorkerJsCpuProfiler.dataCache = []; 51 expect(procedureLogicWorkerJsCpuProfiler.handle(data)).toBeUndefined(); 52 }); 53 54 it('ProcedureLogicWorkerJsCpuProfiler04', function () { 55 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 56 let data = { 57 type: 'jsCpuProfiler-samples', 58 params: { 59 list: [], 60 }, 61 id: '3b21cea8-3554-4aa6-8e4d-7d30672dedca', 62 }; 63 window.postMessage = jest.fn(() => true); 64 expect(procedureLogicWorkerJsCpuProfiler.handle(data)).toBeUndefined(); 65 }); 66 67 it('ProcedureLogicWorkerJsCpuProfiler05', function () { 68 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 69 let data = { 70 type: 'jsCpuProfiler-call-tree', 71 params: [ 72 { 73 startTime: 0, 74 endTime: 0, 75 children: [], 76 samplesIds: [], 77 isSelect: false, 78 }, 79 ], 80 id: '3b21cea8-3554-4aa6-8e4d-7d30672dedca', 81 }; 82 window.postMessage = jest.fn(() => true); 83 expect(procedureLogicWorkerJsCpuProfiler.handle(data)).toBeUndefined(); 84 }); 85 86 it('ProcedureLogicWorkerJsCpuProfiler06', function () { 87 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 88 let data = { 89 type: 'jsCpuProfiler-bottom-up', 90 params: [ 91 { 92 children: [], 93 samplesIds: [], 94 startTime: 0, 95 endTime: 0, 96 isSelect: false, 97 }, 98 ], 99 id: '3b21cea8-3554-4aa6-8e4d-7d30672dedca', 100 }; 101 window.postMessage = jest.fn(() => true); 102 expect(procedureLogicWorkerJsCpuProfiler.handle(data)).toBeUndefined(); 103 }); 104 105 it('ProcedureLogicWorkerJsCpuProfiler07', function () { 106 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 107 let data = { 108 type: 'jsCpuProfiler-statistics', 109 params: { 110 leftNs: 0, 111 rightNs: 10000000000, 112 data: [], 113 }, 114 id: '3b21cea8-3554-4aa6-8e4d-7d30672dedca', 115 }; 116 window.postMessage = jest.fn(() => true); 117 expect(procedureLogicWorkerJsCpuProfiler.handle(data)).toBeUndefined(); 118 }); 119 it('ProcedureLogicWorkerJsCpuProfiler09', function () { 120 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 121 let chartFrame = { 122 parent: true, 123 }; 124 expect(procedureLogicWorkerJsCpuProfiler.copyParent([], chartFrame)).toBeUndefined(); 125 }); 126 it('ProcedureLogicWorkerJsCpuProfiler10', function () { 127 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 128 expect(procedureLogicWorkerJsCpuProfiler.calStatistic([], 11, 43)).toBeTruthy(); 129 }); 130 it('ProcedureLogicWorkerJsCpuProfiler11', function () { 131 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 132 procedureLogicWorkerJsCpuProfiler.dataCache = jest.fn(() => true); 133 procedureLogicWorkerJsCpuProfiler.dataCache.clearAll = jest.fn(() => true); 134 expect(procedureLogicWorkerJsCpuProfiler.clearAll()).toBeUndefined(); 135 }); 136 it('ProcedureLogicWorkerJsCpuProfiler14', function () { 137 let procedureLogicWorkerJsCpuProfiler = new ProcedureLogicWorkerJsCpuProfiler(); 138 expect(procedureLogicWorkerJsCpuProfiler.chartFrameToTabStruct([], [])).toBeTruthy(); 139 }); 140}); 141