• 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
16// @ts-ignore
17import {system,EnergySystemStruct,EnergySystemRender} from "../../../../dist/trace/database/ui-worker/ProcedureWorkerEnergySystem.js"
18
19describe('ProcedureWorkerEnergySystem Test', () => {
20
21    it('ProcedureWorkerEnergySystemTest01', function () {
22        let frame = {
23            x: 20,
24            y: 20,
25            width: 100,
26            height: 100
27        }
28        let dataList = new Array();
29        dataList.push({startNS: 0, dur: 10, length: 1, frame: {x: 0, y: 9, width: 10, height: 10}})
30        dataList.push({startNS: 1, dur: 2, length: 1})
31        system(dataList, [{length: 1}], 1, 3, 2, frame, true)
32    });
33
34    it('ProcedureWorkerEnergySystemTest02', function () {
35        let frame = {
36            x: 20,
37            y: 20,
38            width: 100,
39            height: 100
40        }
41        let dataList = new Array();
42        dataList.push({startNS: 0, dur: 10, length: 1, frame: {x: 0, y: 9, width: 10, height: 10}})
43        dataList.push({startNS: 1, dur: 2, length: 1})
44        system(dataList, [{length: 0}], 1, 3, 2, frame, false)
45    });
46
47    it('ProcedureWorkerEnergyStateTest04', function () {
48        const canvas = document.createElement('canvas');
49        canvas.width = 1;
50        canvas.height = 1;
51        const ctx = canvas.getContext('2d');
52
53        const data = {
54            type :0,
55            frame: {
56                x: 20,
57                y: 20,
58                width: 100,
59                height: 100
60            }
61        }
62        expect(EnergySystemStruct.draw(ctx , data)).toBeUndefined()
63    });
64
65    it('ProcedureWorkerEnergyStateTest05', function () {
66        const canvas = document.createElement('canvas');
67        canvas.width = 1;
68        canvas.height = 1;
69        const ctx = canvas.getContext('2d');
70
71        const data = {
72            type :1,
73            frame: {
74                x: 20,
75                y: 20,
76                width: 100,
77                height: 100
78            }
79        }
80        expect(EnergySystemStruct.draw(ctx , data)).toBeUndefined()
81    });
82
83    it('ProcedureWorkerEnergyStateTest06', function () {
84        const canvas = document.createElement('canvas');
85        canvas.width = 1;
86        canvas.height = 1;
87        const ctx = canvas.getContext('2d');
88
89        const data = {
90            type :2,
91            frame: {
92                x: 20,
93                y: 20,
94                width: 100,
95                height: 100
96            }
97        }
98        expect(EnergySystemStruct.draw(ctx , data)).toBeUndefined()
99    });
100
101    it('ProcedureWorkerEnergyStateTest07', function () {
102        let node = {
103            frame: {
104                x: 20,
105                y: 20,
106                width: 100,
107                height: 100
108            },
109            startNS: 1,
110            value: 50,
111            startTs:3,
112            dur:3,
113            height:2,
114            type:0,
115        }
116        let  frame = {
117            x: 20,
118            y: 20,
119            width: 100,
120            height: 100
121        }
122        expect(EnergySystemStruct.setSystemFrame(node , 1,1,3,2,frame)).toBeUndefined()
123    });
124
125    it('ProcedureWorkerEnergyStateTest08', function () {
126        let node = {
127            frame: {
128                x: 20,
129                y: 20,
130                width: 100,
131                height: 100
132            },
133            startNS: 3,
134            value: 50,
135            startTs:3,
136            dur:3,
137            height:2,
138            type:1,
139        }
140        let  frame = {
141            x: 20,
142            y: 20,
143            width: 100,
144            height: 100
145        }
146        expect(EnergySystemStruct.setSystemFrame(node , 1,2,3,1,frame)).toBeUndefined()
147    });
148
149    it('ProcedureWorkerEnergyStateTest09', function () {
150        let node = {
151            frame: {
152                x: 20,
153                y: 20,
154                width: 100,
155                height: 100
156            },
157            startNS: 1,
158            value: 50,
159            startTs:3,
160            dur:3,
161            height:2,
162            type:2,
163        }
164        let  frame = {
165            x: 20,
166            y: 20,
167            width: 100,
168            height: 100
169        }
170        expect(EnergySystemStruct.setSystemFrame(node , 1,1,3,2,frame)).toBeUndefined()
171    });
172
173    it('ProcedureWorkerEnergyStateTest10', function () {
174        let energySystemRender = new EnergySystemRender()
175        let  req = {
176            lazyRefresh:true,
177            type:"",
178            startNS:1,
179            endNS:1,
180            totalNS:1,
181            frame: {
182                x: 20,
183                y: 20,
184                width: 100,
185                height: 100
186            },
187            useCache:false,
188            range:{
189                refresh:"",
190            },
191            canvas:'',
192            context:{
193                font:"11px sans-serif",
194                fillStyle:"#ec407a",
195                globalAlpha:0.6,
196                height:150,
197                width:100
198            },
199            lineColor:'',
200            isHover:'',
201            hoverX:1,
202            wakeupBean:undefined,
203            flagMoveInfo:'',
204            flagSelectedInfo:'',
205            slicesTime:3,
206            id:1,
207            x: 20,
208            y: 20,
209            width: 100,
210            height: 100,
211            params:{
212                isLive:false,
213                maxHeight:2,
214                dpr:1,
215                hoverFuncStruct:'',
216                selectFuncStruct:undefined,
217            },
218        }
219        window.postMessage = jest.fn(()=>true)
220        expect(energySystemRender.render(req,[{}],[])).toBeUndefined()
221    });
222})
223