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 16// @ts-ignore 17import {HiPerfEvent,HiPerfEventStruct,HiperfEventRender} from "../../../../dist/trace/database/ui-worker/ProcedureWorkerHiPerfEvent.js" 18// @ts-ignore 19import {Rect} from "../../../../dist/trace/database/ui-worker/ProcedureWorkerCommon"; 20 21describe('ProcedureWorkerHiPerfEvent Test', ()=> { 22 23 it('ProcedureWorkerHiPerfEventTest01', () => { 24 let frame = { 25 x:0, 26 y:9, 27 width:10, 28 height:10 29 } 30 let dataList = new Array(); 31 dataList.push({startTime: 0, dur: 10, frame: {x:0, y:9, width:10, height:10}}) 32 dataList.push({startTime: 1, dur: 111}) 33 let dataList2 = new Array(); 34 dataList2.push({startTime: 0, dur: 10, frame: {x:0, y:9, width:10, height:1}}) 35 dataList2.push({startTime: 1, dur: 111}) 36 let rect = new Rect(0, 10, 10, 10); 37 HiPerfEvent(dataList, dataList2, "", [{length: 1}], 1, 1024, 1024, frame, true, 1, true) 38 }); 39 40 it('ProcedureWorkerHiPerfEventTest02', () => { 41 let frame = { 42 x:0, 43 y:9, 44 width:10, 45 height:10 46 } 47 let dataList = new Array(); 48 dataList.push({startTime: 0, dur: 10, frame: {x:0, y:9, width:10, height:10}}) 49 dataList.push({startTime: 1, dur: 111}) 50 let dataList2 = new Array(); 51 dataList2.push({startTime: 0, dur: 10, frame: {x:0, y:9, width:10, height:1}}) 52 dataList2.push({startTime: 1, dur: 111}) 53 let rect = new Rect(0, 10, 10, 10); 54 HiPerfEvent(dataList, dataList2, "", [{length: 0}], 1, 1024, 1024, frame, true, 1, false) 55 }); 56 57 it('ProcedureWorkerHiPerfEventTest03',()=>{ 58 const data = { 59 frame : { 60 x:0, 61 y:9, 62 width:10, 63 height:10 64 }, 65 cpu:1, 66 startNs:1, 67 value:1, 68 } 69 const canvas = document.createElement('canvas'); 70 canvas.width = 1; 71 canvas.height = 1; 72 const ctx = canvas.getContext('2d'); 73 expect(HiPerfEventStruct.drawRoundRectPath(ctx,1,0,10,10,12)).toBeUndefined(); 74 }); 75 76 it('ProcedureWorkerHiPerfEventTest04', function () { 77 let node = { 78 frame: { 79 x: 20, 80 y: 20, 81 width: 100, 82 height: 100 83 }, 84 startNS: 0, 85 value: 50, 86 startTs:3, 87 dur:1, 88 height:2 89 } 90 let frame = { 91 x: 20, 92 y: 20, 93 width: 100, 94 height: 100 95 } 96 expect(HiPerfEventStruct.setFrame(node,2, 1,2,frame)).toBeUndefined() 97 }); 98 99 it('ProcedureWorkerHiPerfEventTest05', function () { 100 let node = { 101 frame: { 102 x: 20, 103 y: 20, 104 width: 100, 105 height: 100 106 }, 107 startNS: 2, 108 value: 50, 109 startTs:3, 110 dur:3, 111 height:2 112 } 113 let frame = { 114 x: 20, 115 y: 20, 116 width: 100, 117 height: 100 118 } 119 expect(HiPerfEventStruct.setFrame(node,2, 1,2,frame)).toBeUndefined() 120 }); 121 122 it('ProcedureWorkerHiPerfEventTest06', function () { 123 expect(HiPerfEventStruct.groupBy10MS([{ps:1},{coX:"1"}],10,"")).toEqual([{"dur": 10000000, "height": NaN, "max": 0, "startNS": NaN, "sum": NaN,}]) 124 }); 125})