• 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 {SportRuler} from "../../../../../dist/trace/component/trace/timer-shaft/SportRuler.js"
18// @ts-ignore
19import {TimerShaftElement} from "../../../../../dist/trace/component/trace/TimerShaftElement.js";
20// @ts-ignore
21import {Flag} from "../../../../../dist/trace/component/trace/timer-shaft/Flag.js";
22// @ts-ignore
23import {TraceRow, RangeSelectStruct} from "../../../../../dist/trace/component/trace/base/TraceRow.js";
24
25describe('SportRuler Test', () => {
26    const canvas = document.createElement('canvas');
27    canvas.width = 1;
28    canvas.height = 1;
29    const ctx = canvas.getContext('2d');
30
31    document.body.innerHTML = '<timer-shaft-element id="timerShaftEL"><timer-shaft-element>'
32
33    let timerShaftElement = document.querySelector('#timerShaftEL') as TimerShaftElement;
34
35    let sportRuler = new SportRuler(timerShaftElement, {
36        x: 20,
37        y: 20,
38        width: 100,
39        height: 100,
40    }, () => {
41    }, () => {
42    });
43
44    sportRuler.range = {
45        totalNS: 20,
46        startX: 0,
47        endX: 10,
48        startNS: 10,
49        endNS: 20,
50        xs: [],
51        xsTxt: [],
52    }
53
54    it('SportRulerTest04', function () {
55        expect(sportRuler.mouseMove({
56            offsetY: 20,
57            offsetX: 20,
58        })).toBeUndefined();
59    });
60
61    it('SportRulerTest05', function () {
62        let ranges = sportRuler.range;
63        expect(ranges.endNS).toBe(20);
64    })
65
66    it('SportRulerTest07', function () {
67        sportRuler.flagList.splice = jest.fn(() => true)
68        expect(sportRuler.modifyFlagList('remove')).toBeUndefined();
69    })
70
71    it('SportRulerTest08', function () {
72        let numbers = Array<number>();
73        numbers.push(12)
74        numbers.push(56)
75        sportRuler.flagList = [{
76            totalNS: 10000,
77            startX: 0,
78            endX: 1000,
79            startNS: 0,
80            endNS: 10000,
81            xs: numbers,
82            xsTxt: ['s', 'f']
83        }]
84        sportRuler.flagList.xs = jest.fn(()=> numbers)
85        let flags = new Array<Flag>()
86        flags.push({
87            x: 0,
88            y: 0,
89            width: 0,
90            height: 0,
91            time: 20,
92            color: "",
93            selected: false,
94            text: "",
95            hidden: false,
96            type: "",
97        })
98        sportRuler.flagList = flags;
99
100        let rangeSelectStruct = new RangeSelectStruct();
101        rangeSelectStruct.startNS = 20
102        rangeSelectStruct.endX = 1000
103        rangeSelectStruct.startNS = 20
104        rangeSelectStruct.endNS = 200
105        expect(sportRuler.draw()).toBeUndefined();
106    })
107
108    it('SportRulerTest09', function () {
109        let flags = new Array<Flag>()
110        flags.push({
111            x: 0,
112            y: 0,
113            width: 0,
114            height: 0,
115            time: 20,
116            color: "",
117            selected: false,
118            text: "",
119            hidden: false,
120            type: "",
121        })
122        sportRuler.flagList = flags;
123        sportRuler.edgeDetection = jest.fn(()=> true)
124
125        expect(sportRuler.mouseUp({offsetX: 20})).toBeUndefined();
126    })
127
128    it('SportRulerTest10', function () {
129        sportRuler.draw = jest.fn(() => true)
130        expect(sportRuler.mouseMove({
131            offsetX: 10000,
132            offsetY: 10000
133        })).toBeUndefined();
134    });
135
136    it('SportRulerTest11', function () {
137        let range = sportRuler.range;
138        expect(sportRuler.range.endNS).toBe(20)
139    })
140
141    it('SportRulerTest12', function () {
142        let flags = new Array<Flag>()
143        flags.push({
144            x: 0,
145            y: 0,
146            width: 0,
147            height: 0,
148            time: 0,
149            color: "",
150            selected: false,
151            text: "",
152            hidden: false,
153            type: "",
154        })
155        sportRuler.flagList = flags;
156        sportRuler.drawTriangle(1000, 'triangle');
157    })
158
159    it('SportRulerTest13', function () {
160        let flags = new Array<Flag>()
161        flags.push({
162            x: 0,
163            y: 0,
164            width: 0,
165            height: 0,
166            time: 1000,
167            color: "",
168            selected: false,
169            text: "",
170            hidden: false,
171            type: "triangle",
172        })
173        sportRuler.flagList = flags;
174        sportRuler.drawTriangle(1000, 'triangle');
175    })
176
177    it('SportRulerTest14', function () {
178        let flags = new Array<Flag>()
179        flags.push({
180            x: 0,
181            y: 0,
182            width: 0,
183            height: 0,
184            time: 0,
185            color: "",
186            selected: false,
187            text: "",
188            hidden: false,
189            type: "triangle",
190        })
191        sportRuler.flagList = flags;
192        sportRuler.drawTriangle(1000, 'square');
193    })
194
195    it('SportRulerTest22', function () {
196        let flags = new Array<Flag>()
197        flags.push({
198            x: 0,
199            y: 0,
200            width: 0,
201            height: 0,
202            time: 0,
203            color: "",
204            selected: false,
205            text: "",
206            hidden: false,
207            type: "triangle",
208        })
209        sportRuler.flagList = flags;
210        sportRuler.drawTriangle(1000, 'inverted');
211
212    })
213
214    it('SportRulerTest17', function () {
215        sportRuler.removeTriangle('inverted')
216    })
217
218    it('SportRulerTest18', function () {
219        sportRuler.flagList.findIndex = jest.fn(() => 0)
220        sportRuler.removeTriangle('square')
221    })
222
223    it('SportRulerTest19', function () {
224        sportRuler.drawInvertedTriangle(100, '#000000')
225    })
226
227    it('SportRulerTest20', function () {
228        sportRuler.drawFlag(100, '#000000', false, 'text', '')
229    })
230
231    it('SportRulerTest23', function () {
232        sportRuler.drawFlag(100, '#000000', false, 'text', 'triangle')
233    })
234
235    it('SportRulerTest21', function () {
236        let flags = new Array<Flag>()
237        flags.push({
238            x: 0,
239            y: 0,
240            width: 0,
241            height: 0,
242            time: 20,
243            color: "",
244            selected: false,
245            text: "",
246            hidden: false,
247            type: "",
248        })
249        sportRuler.flagList = flags;
250        sportRuler.flagList.find = jest.fn(()=> false)
251        expect(sportRuler.mouseUp({offsetX: 20})).toBeUndefined();
252    })
253
254    it('SportRulerTest24', function () {
255        sportRuler.drawSlicesMark(null,null)
256
257    })
258
259    it('SportRulerTest25', function () {
260        sportRuler.setSlicesMark(null,null)
261
262    })
263
264})
265