1fb726d48Sopenharmony_ci/*
2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd.
3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License.
5fb726d48Sopenharmony_ci * You may obtain a copy of the License at
6fb726d48Sopenharmony_ci *
7fb726d48Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8fb726d48Sopenharmony_ci *
9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and
13fb726d48Sopenharmony_ci * limitations under the License.
14fb726d48Sopenharmony_ci */
15fb726d48Sopenharmony_ci
16fb726d48Sopenharmony_ciimport { FpsStruct } from '../../../src/trace/bean/FpsStruct';
17fb726d48Sopenharmony_ci
18fb726d48Sopenharmony_cijest.mock('../../../src/js-heap/model/DatabaseStruct', () => {
19fb726d48Sopenharmony_ci});
20fb726d48Sopenharmony_cijest.mock('../../../src/trace/database/ui-worker/ProcedureWorker', () => {
21fb726d48Sopenharmony_ci  return {};
22fb726d48Sopenharmony_ci});
23fb726d48Sopenharmony_ci
24fb726d48Sopenharmony_cidescribe('FpsStruct Test', () => {
25fb726d48Sopenharmony_ci  const canvas = document.createElement('canvas');
26fb726d48Sopenharmony_ci  canvas.width = 4;
27fb726d48Sopenharmony_ci  canvas.height = 2;
28fb726d48Sopenharmony_ci  const ctx = canvas.getContext('2d');
29fb726d48Sopenharmony_ci
30fb726d48Sopenharmony_ci  const data = {
31fb726d48Sopenharmony_ci    frame: {
32fb726d48Sopenharmony_ci      x: 201,
33fb726d48Sopenharmony_ci      y: 202,
34fb726d48Sopenharmony_ci      width: 100,
35fb726d48Sopenharmony_ci      height: 100,
36fb726d48Sopenharmony_ci    },
37fb726d48Sopenharmony_ci    startNS: 200,
38fb726d48Sopenharmony_ci    value: 50,
39fb726d48Sopenharmony_ci  };
40fb726d48Sopenharmony_ci  const node = {
41fb726d48Sopenharmony_ci    startNS: 200,
42fb726d48Sopenharmony_ci    frame: 2,
43fb726d48Sopenharmony_ci    dur: 3,
44fb726d48Sopenharmony_ci  };
45fb726d48Sopenharmony_ci  const padding = 1;
46fb726d48Sopenharmony_ci  const startNs = 1;
47fb726d48Sopenharmony_ci  const endNS = 1;
48fb726d48Sopenharmony_ci  const totalNS = 1;
49fb726d48Sopenharmony_ci  const frame = {
50fb726d48Sopenharmony_ci    x: 20,
51fb726d48Sopenharmony_ci    y: 20,
52fb726d48Sopenharmony_ci    width: 100,
53fb726d48Sopenharmony_ci    height: 100,
54fb726d48Sopenharmony_ci  };
55fb726d48Sopenharmony_ci  const dataSource = {
56fb726d48Sopenharmony_ci    frame: {
57fb726d48Sopenharmony_ci      x: 20,
58fb726d48Sopenharmony_ci      y: 20,
59fb726d48Sopenharmony_ci      width: 100,
60fb726d48Sopenharmony_ci      height: 100,
61fb726d48Sopenharmony_ci    },
62fb726d48Sopenharmony_ci    value: 50,
63fb726d48Sopenharmony_ci    maxFps: 50,
64fb726d48Sopenharmony_ci  };
65fb726d48Sopenharmony_ci
66fb726d48Sopenharmony_ci  it('FpsStructTest01', function () {
67fb726d48Sopenharmony_ci    expect(FpsStruct.draw(ctx, data)).toBeUndefined();
68fb726d48Sopenharmony_ci  });
69fb726d48Sopenharmony_ci
70fb726d48Sopenharmony_ci  it('FpsStructTest04 ', function () {
71fb726d48Sopenharmony_ci    expect(FpsStruct.draw(ctx, dataSource)).toBeUndefined();
72fb726d48Sopenharmony_ci  });
73fb726d48Sopenharmony_ci
74fb726d48Sopenharmony_ci  it('FpsStructTest02', function () {
75fb726d48Sopenharmony_ci    let fpsStruct = new FpsStruct();
76fb726d48Sopenharmony_ci    expect(fpsStruct).not.toBeUndefined();
77fb726d48Sopenharmony_ci  });
78fb726d48Sopenharmony_ci
79fb726d48Sopenharmony_ci  it('FpsStructTest03', function () {
80fb726d48Sopenharmony_ci    expect(FpsStruct.setFrame(node, padding, startNs, endNS, totalNS, frame)).toBeUndefined();
81fb726d48Sopenharmony_ci  });
82fb726d48Sopenharmony_ci});
83