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  ChartStruct,
18  Msg,
19  MerageBean,
20  merageBeanDataSplit,
21  getByteWithUnit,
22  getTimeString,
23  timeMsFormat2p,
24  getProbablyTime,
25  convertJSON,
26  JsProfilerSymbol,
27  DataCache,
28  //@ts-ignore
29} from '../../../../src/trace/database/logic-worker/ProcedureLogicWorkerCommon';
30describe('ProcedureLogicWorkerCommon Test', () => {
31  it('ChartStructTest', function () {
32    let chartStruct = new ChartStruct();
33    expect(chartStruct).not.toBeUndefined();
34  });
35
36  it('MsgTest', function () {
37    let msg = new Msg();
38    expect(msg).not.toBeUndefined();
39  });
40
41  it('MerageBeanTest01', function () {
42    let merageBean = new MerageBean();
43    expect(merageBean).not.toBeUndefined();
44  });
45
46  it('MerageBeanTest02', function () {
47    let merageBean = new MerageBean();
48    merageBean.parentNode = true;
49    expect(merageBean.parentNode).toBeTruthy();
50  });
51
52  it('MerageBeanTest03', function () {
53    let merageBean = new MerageBean();
54    merageBean.parentNode = false;
55    expect(merageBean.parentNode).toBeFalsy();
56  });
57
58  it('MerageBeanTest04', function () {
59    let merageBean = new MerageBean();
60    merageBean.total = true;
61    expect(merageBean.total).toBeTruthy();
62  });
63
64  it('MerageBeanTest05', function () {
65    let merageBean = new MerageBean();
66    merageBean.total = false;
67    expect(merageBean.total).toBeFalsy();
68  });
69
70  it('MerageBeanTest06', function () {
71    merageBeanDataSplit.recursionChargeInitTree = jest.fn(() => true);
72    merageBeanDataSplit.resetAllNode = jest.fn(() => true);
73    expect(merageBeanDataSplit.splitTree('', [{ children: [] }], '', true, [''], '')).toBeUndefined();
74  });
75  it('MerageBeanTest30', function () {
76    merageBeanDataSplit.recursionPruneInitTree = jest.fn(() => true);
77    merageBeanDataSplit.resetAllNode = jest.fn(() => true);
78    expect(merageBeanDataSplit.splitTree('', [{ children: [] }], '', false, [''], '')).toBeUndefined();
79  });
80
81  it('MerageBeanTest30', function () {
82    expect(getByteWithUnit(-1_000_000_001)).toBe('-953.67 MB');
83  });
84
85  it('MerageBeanTest08', function () {
86    expect(getByteWithUnit(1_000_000_001)).toBe('953.67 MB');
87  });
88
89  it('MerageBeanTest09', function () {
90    expect(getByteWithUnit(1_000_001)).toBe('976.56 KB');
91  });
92
93  it('MerageBeanTest10', function () {
94    expect(getByteWithUnit(1_001)).toBe('1001 byte');
95  });
96
97  it('MerageBeanTest11', function () {
98    expect(getByteWithUnit(1_000_000_000_1)).toBe('9.31 GB');
99  });
100
101  it('MerageBeanTest12', function () {
102    expect(getTimeString(3600_000_000_002)).toBe('1h 2ns ');
103  });
104
105  it('MerageBeanTest13', function () {
106    expect(getTimeString(60_000_000_002)).toBe('1m 2ns ');
107  });
108
109  it('MerageBeanTest14', function () {
110    expect(getTimeString(1_000_000_003)).toBe('1s 3ns ');
111  });
112
113  it('MerageBeanTest15', function () {
114    expect(getTimeString(1_000_004)).toBe('1ms 4ns ');
115  });
116
117  it('MerageBeanTest16', function () {
118    expect(getTimeString(1_003)).toBe('1μs 3ns ');
119  });
120
121  it('MerageBeanTest31', function () {
122    expect(convertJSON('')).toBe('');
123  });
124
125  it('MerageBeanTest33', function () {
126    expect(getProbablyTime('')).toBe('');
127  });
128
129  it('MerageBeanTest34', function () {
130    expect(getProbablyTime(3600_000_000_000)).toBe('1.00h ');
131  });
132
133  it('MerageBeanTest35', function () {
134    expect(getProbablyTime(60_000_000_002)).toBe('1.00m ');
135  });
136
137  it('MerageBeanTest36', function () {
138    expect(getProbablyTime(1_000_000_000)).toBe('1.00s ');
139  });
140
141  it('MerageBeanTest37', function () {
142    expect(getProbablyTime(1_000_000)).toBe('1.00ms ');
143  });
144
145  it('MerageBeanTest38', function () {
146    expect(getProbablyTime(1_000)).toBe('1.00μs ');
147  });
148
149  it('MerageBeanTest44', function () {
150    expect(getProbablyTime(100)).toBe('100ns ');
151  });
152
153  it('MerageBeanTest39', function () {
154    expect(timeMsFormat2p('')).toBe('0s');
155  });
156
157  it('MerageBeanTest40', function () {
158    expect(timeMsFormat2p(3600_000)).toBe('1.00h');
159  });
160
161  it('MerageBeanTest41', function () {
162    expect(timeMsFormat2p(60_000)).toBe('1.00min');
163  });
164
165  it('MerageBeanTest42', function () {
166    expect(timeMsFormat2p(1_000)).toBe('1.00s');
167  });
168
169  it('MerageBeanTest43', function () {
170    expect(timeMsFormat2p(100)).toBe('100.00ms');
171  });
172
173  it('MerageBeanTest17', function () {
174    merageBeanDataSplit.recursionChargeTree = jest.fn(() => true);
175    let node = [
176      {
177        initChildren: {
178          length: 1,
179        },
180      },
181    ];
182    expect(merageBeanDataSplit.recursionChargeTree(node, '', true)).toBeTruthy();
183  });
184
185  it('MerageBeanTest22', function () {
186    merageBeanDataSplit.hideSystemLibrary = jest.fn(() => true);
187    expect(merageBeanDataSplit.hideSystemLibrary('', '')).toBeTruthy();
188  });
189
190  it('MerageBeanTest23', function () {
191    merageBeanDataSplit.hideNumMaxAndMin = jest.fn(() => true);
192    expect(merageBeanDataSplit.hideNumMaxAndMin('', '', 1, 1)).toBeTruthy();
193  });
194
195  it('MerageBeanTest24', function () {
196    merageBeanDataSplit.resotreAllNode = jest.fn(() => true);
197    expect(merageBeanDataSplit.resotreAllNode('', true)).toBeTruthy();
198  });
199
200  it('MerageBeanTest25', function () {
201    merageBeanDataSplit.resetAllNode = jest.fn(() => true);
202    expect(merageBeanDataSplit.resetAllNode('', [], '')).toBeTruthy();
203  });
204
205  it('MerageBeanTest26', function () {
206    merageBeanDataSplit.resetNewAllNode = jest.fn(() => true);
207    expect(merageBeanDataSplit.resetNewAllNode('', [])).toBeTruthy();
208  });
209
210  it('MerageBeanTest27', function () {
211    merageBeanDataSplit.clearSearchNode = jest.fn(() => true);
212    expect(merageBeanDataSplit.clearSearchNode('')).toBeTruthy();
213  });
214
215  it('MerageBeanTest28', function () {
216    merageBeanDataSplit.splitAllProcess = jest.fn(() => true);
217    expect(merageBeanDataSplit.splitAllProcess('', '', [])).toBeTruthy();
218  });
219
220  it('MerageBeanTest29', function () {
221    merageBeanDataSplit.splitAllProcess = jest.fn(() => true);
222    expect(merageBeanDataSplit.splitAllProcess('', '', [])).toBeTruthy();
223  });
224  it('MerageBeanTest32', function () {
225    let node = {
226      initChildren: {
227        length: 10,
228        forEach: jest.fn(() => true),
229      },
230    };
231    expect(merageBeanDataSplit.recursionChargeInitTree([], node, [], true)).toBeTruthy();
232  });
233  it('MerageBeanTest3', function () {
234    let node = {
235      initChildren: {
236        length: 10,
237        forEach: jest.fn(() => true),
238      },
239    };
240    expect(merageBeanDataSplit.recursionPruneInitTree([], node, [], true)).toBeTruthy();
241  });
242  it('MerageBeanTest45', function () {
243    let node = {
244      initChildren: {
245        length: 10,
246        forEach: jest.fn(() => true),
247      },
248    };
249    expect(merageBeanDataSplit.recursionChargeByRule([], node, [], true)).toBeUndefined();
250  });
251  it('MerageBeanTest46', function () {
252    let node = {
253      children: {
254        forEach: jest.fn(() => true),
255      },
256    };
257    expect(merageBeanDataSplit.recursionPruneTree(node, [], true)).toBeUndefined();
258  });
259  it('MerageBeanTest48', function () {
260    let node = {
261      initChildren: {
262        length: 10,
263        forEach: jest.fn(() => true),
264      },
265    };
266    expect(merageBeanDataSplit.pruneChildren([], node, true)).toBeUndefined();
267  });
268  it('MerageBeanTest49', function () {
269    let search = {
270      toLocaleLowerCase: jest.fn(() => true),
271    };
272    expect(merageBeanDataSplit.findSearchNode([], search, [])).toBeUndefined();
273  });
274  it('MerageBeanTest50', function () {
275    let jsProfilerSymbol = new JsProfilerSymbol();
276    expect(jsProfilerSymbol).not.toBeUndefined();
277  });
278  it('MerageBeanTest51', function () {
279    let jsProfilerSymbol = new JsProfilerSymbol();
280    expect(jsProfilerSymbol.clone()).not.toBeUndefined();
281  });
282  it('MerageBeanTest52', function () {
283    let dataCache = new DataCache();
284    expect(dataCache.clearAll()).toBeUndefined();
285  });
286});
287