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 { TraceRow } from '../../../../../src/trace/component/trace/base/TraceRow'; 17import { ThreadStruct } from '../../../../../src/trace/database/ui-worker/ProcedureWorkerThread'; 18jest.mock('../../../../../src/trace/database/ui-worker/ProcedureWorker', () => { 19 return {}; 20}); 21jest.mock('../../../../../src/js-heap/model/DatabaseStruct', () => { 22 return {}; 23}); 24jest.mock('../../../../../src/trace/database/ui-worker/ProcedureWorkerSnapshot', () => { 25 return {}; 26}); 27describe('TraceRow Test', () => { 28 beforeAll(() => { 29 }); 30 let traceRow = new TraceRow<any>({ 31 canvasNumber: 1, 32 alpha: true, 33 contextId: '2d', 34 isOffScreen: true, 35 }); 36 it('TraceRow Test01', () => { 37 expect(traceRow).not.toBeUndefined(); 38 }); 39 40 it('TraceRow Test02', () => { 41 expect(traceRow.sleeping).toBeFalsy(); 42 }); 43 44 it('TraceRow Test03', () => { 45 traceRow.sleeping = true; 46 expect(traceRow.sleeping).toBeTruthy(); 47 }); 48 49 it('TraceRow Test04', () => { 50 traceRow.sleeping = false; 51 expect(traceRow.sleeping).toBeFalsy(); 52 }); 53 54 it('TraceRow Test05', () => { 55 expect(traceRow.rangeSelect).toBeFalsy(); 56 }); 57 58 it('TraceRow Test06', () => { 59 traceRow.rangeSelect = true; 60 expect(traceRow.rangeSelect).toBeFalsy(); 61 }); 62 63 it('TraceRow Test10', () => { 64 const canvas = document.createElement('canvas'); 65 canvas.width = 10; 66 canvas.height = 10; 67 const ctx = canvas.getContext('2d'); 68 let traceRow = new TraceRow<any>({ 69 canvasNumber: 10, 70 alpha: true, 71 contextId: '2d', 72 isOffScreen: true, 73 }); 74 traceRow.dataList = [{ 75 supplier: true, 76 isLoading: false, 77 }]; 78 traceRow.isLoading = false; 79 traceRow.name = '111'; 80 expect(traceRow.clearCanvas(ctx)).toBeUndefined(); 81 }); 82 83 it('TraceRow Test11', () => { 84 const canvas = document.createElement('canvas'); 85 canvas.width = 11; 86 canvas.height = 11; 87 const ctx = canvas.getContext('2d'); 88 let traceRow = new TraceRow<any>({ 89 canvasNumber: 11, 90 alpha: true, 91 contextId: '2d', 92 isOffScreen: true, 93 }); 94 traceRow.isLoading = false; 95 traceRow.name = '561'; 96 traceRow.dataList = [{ 97 supplier: true, 98 isLoading: false, 99 }]; 100 traceRow.isLoading = false; 101 traceRow.name = '111'; 102 expect(traceRow.drawLines(ctx)).toBeUndefined(); 103 }); 104 105 it('TraceRow Test12', () => { 106 const canvas = document.createElement('canvas'); 107 canvas.width = 12; 108 canvas.height = 12; 109 const ctx = canvas.getContext('2d'); 110 let traceRow = new TraceRow<any>({ 111 canvasNumber: 12, 112 alpha: true, 113 contextId: '2d', 114 isOffScreen: true, 115 }); 116 traceRow.dataList = [{ 117 supplier: true, 118 isLoading: false, 119 }]; 120 traceRow.isLoading = false; 121 traceRow.name = '1201'; 122 expect(traceRow.drawSelection(ctx)).toBeUndefined(); 123 }); 124 125 it('TraceRow Test13', () => { 126 expect(traceRow.collect).toBeFalsy(); 127 }); 128 129 it('TraceRow Test14', () => { 130 traceRow.collect = true; 131 expect(traceRow.collect).toBeTruthy(); 132 }); 133 134 it('TraceRow Test15', () => { 135 expect(traceRow.rowType).toBeFalsy(); 136 }); 137 138 it('TraceRow Test16', () => { 139 traceRow.rowType = 'cpu'; 140 expect(traceRow.rowType).toBeTruthy(); 141 }); 142 143 it('TraceRow Test17', () => { 144 expect(traceRow.rowId).toBeFalsy(); 145 }); 146 147 it('TraceRow Test18', () => { 148 traceRow.rowId = 'cpu'; 149 expect(traceRow.rowId).toBeTruthy(); 150 }); 151 152 it('TraceRow Test19', () => { 153 expect(traceRow.rowParentId).toBeFalsy(); 154 }); 155 156 it('TraceRow Test20', () => { 157 traceRow.rowParentId = 'cpu'; 158 expect(traceRow.rowParentId).toBeTruthy(); 159 }); 160 161 it('TraceRow Test21', () => { 162 traceRow.rowHidden = true; 163 expect(traceRow.getAttribute('row-hidden')).toBe(''); 164 }); 165 166 it('TraceRow Test22', () => { 167 expect(traceRow.name).toBeFalsy(); 168 }); 169 170 it('TraceRow Test23', () => { 171 traceRow.folder = false; 172 expect(traceRow.folder).toBeFalsy(); 173 }); 174 175 it('TraceRow Test24', () => { 176 traceRow.folder = true; 177 expect(traceRow.folder).toBeTruthy(); 178 }); 179 180 it('TraceRow Test28', () => { 181 expect(traceRow.frame).not.toBeUndefined(); 182 }); 183 184 it('TraceRow Test30', () => { 185 expect(traceRow.checkType).not.toBeUndefined(); 186 }); 187 188 it('TraceRow Test31', () => { 189 traceRow.checkType = '-1'; 190 expect(traceRow.checkType).toBe(''); 191 }); 192 193 it('TraceRow Test32', () => { 194 expect(traceRow.drawType).toBe(0); 195 }); 196 197 it('TraceRow Test33', () => { 198 traceRow.drawType = 1; 199 expect(traceRow.drawType).toBeTruthy(); 200 }); 201 202 it('TraceRow Test34', () => { 203 traceRow.args = jest.fn(() => true); 204 traceRow.args.isOffScreen = jest.fn(() => null); 205 expect(traceRow.updateWidth(1)).toBeUndefined(); 206 }); 207 208 it('TraceRow Test37', () => { 209 expect(traceRow.setTipLeft(1, null)).toBeFalsy(); 210 }); 211 212 it('TraceRow Test38', () => { 213 expect(traceRow.onMouseLeave(1, 1)).toBeFalsy(); 214 }); 215 216 it('TraceRow Test39', () => { 217 expect(traceRow.draw(false)).toBeFalsy(); 218 }); 219 220 it('TraceRow Test40', () => { 221 traceRow.collect = true; 222 expect(traceRow.collect).toBeTruthy(); 223 }); 224 225 it('TraceRow Test41', () => { 226 traceRow.collect = false; 227 expect(traceRow.collect).toBeFalsy(); 228 }); 229 230 it('TraceRow Test42', () => { 231 traceRow.checkType = '0'; 232 expect(traceRow.checkType).toBe(''); 233 }); 234 235 it('TraceRow Test43', () => { 236 traceRow.checkType = '1'; 237 expect(traceRow.checkType).toBe(''); 238 }); 239 240 it('TraceRow Test44', () => { 241 traceRow.checkType = '2'; 242 expect(traceRow.checkType).toBe(''); 243 }); 244 245 it('TraceRow Test45', () => { 246 traceRow.checkType = ''; 247 expect(traceRow.checkType).toBe(''); 248 }); 249 250 it('TraceRow Test47', () => { 251 traceRow.highlight = false; 252 expect(traceRow.highlight).toBeFalsy(); 253 }); 254 255 it('TraceRow Test48', () => { 256 traceRow.highlight = true; 257 expect(traceRow.highlight).toBeFalsy(); 258 }); 259 260 it('TraceRow Test49', () => { 261 traceRow.setCheckBox(true); 262 expect(traceRow.highlight).toBeFalsy(); 263 }); 264 265 it('TraceRow Test50', () => { 266 traceRow.initCanvas = jest.fn(() => null); 267 expect(traceRow.connectedCallback()).toBeUndefined(); 268 }); 269 270 it('TraceRow Test51', () => { 271 expect(traceRow.isInTimeRange(1, 23)).toBe(false); 272 }); 273 274 it('TraceRow Test52', () => { 275 expect(traceRow.getLineColor()).toBe(''); 276 }); 277 278 it('TraceRow Test53', () => { 279 let value = traceRow.attributeChangedCallback('name', 'old', 'new'); 280 expect(value).toBe(undefined); 281 }); 282 283 it('TraceRow Test54', () => { 284 let value = traceRow.attributeChangedCallback('height', '1', '2'); 285 expect(value).toBe(undefined); 286 }); 287 288 it('TraceRow Test55', () => { 289 let value = traceRow.attributeChangedCallback('check-type', '1', 'check'); 290 expect(value).toBe(undefined); 291 }); 292 293 it('TraceRow Test57', () => { 294 expect(traceRow.rowDiscard).toBeFalsy(); 295 }); 296 it('TraceRow Test58', () => { 297 traceRow.rowDiscard = true; 298 expect(traceRow.rowDiscard).toBeTruthy(); 299 }); 300 it('TraceRow Test58', () => { 301 traceRow.rowDiscard = false; 302 expect(traceRow.rowDiscard).toBeFalsy(); 303 }); 304 it('TraceRow Test65', () => { 305 expect(traceRow.getTransferArray()).toStrictEqual([undefined]); 306 }); 307 it('TraceRow Test67', () => { 308 expect(traceRow.clearMemory()).toBeUndefined(); 309 }); 310 it('TraceRow Test68', () => { 311 expect(traceRow.rowSetting).toBeTruthy(); 312 }); 313 it('TraceRow Test69', () => { 314 expect(traceRow.rowSettingPopoverDirection).toBeTruthy(); 315 }); 316 it('TraceRow Test71', () => { 317 traceRow.rowSettingPopoverDirection = ''; 318 expect(traceRow.rowSettingPopoverDirection).toBeTruthy(); 319 }); 320 it('TraceRow Test70', () => { 321 expect(traceRow.rowSettingList).toBeUndefined(); 322 }); 323 it('TraceRow Test72', () => { 324 traceRow.expansion = false; 325 expect(traceRow.expansion).toBeFalsy(); 326 }); 327 it('TraceRow Test74', () => { 328 let threadRow = TraceRow.skeleton<ThreadStruct>(); 329 expect(traceRow.addChildTraceRowSpecifyLocation(threadRow, 0)).toBeUndefined(); 330 }); 331 it('TraceRow Test75', () => { 332 let item = document.createElement('div'); 333 expect(traceRow.drawLine(item, 'top')).toBeUndefined(); 334 }); 335 it('TraceRow Test76', () => { 336 let mouseChangeEvent: MouseEvent = new MouseEvent('change', <MouseEventInit>{clientX: 1, clientY: 2}); 337 traceRow.setCheckBox = jest.fn(() => true); 338 traceRow.checkBoxEL.dispatchEvent(mouseChangeEvent); 339 }); 340 it('TraceRow Test77', () => { 341 let mouseClickEvent: MouseEvent = new MouseEvent('click', <MouseEventInit>{clientX: 1, clientY: 2}); 342 traceRow.isComplete = true; 343 traceRow.collectEL.dispatchEvent(mouseClickEvent); 344 }); 345 it('TraceRow Test78', () => { 346 let mouseChangeEvent: MouseEvent = new MouseEvent('change', <MouseEventInit>{clientX: 1, clientY: 2}); 347 traceRow.addRowSettingPop(); 348 traceRow.rowSettingTree.dispatchEvent(mouseChangeEvent); 349 }); 350 it('TraceRow Test80', () => { 351 let mouseDragOverEvent: MouseEvent = new MouseEvent('dragover', <MouseEventInit>{clientX: 1, clientY: 2}); 352 traceRow.describeEl.dispatchEvent(mouseDragOverEvent); 353 }); 354 it('TraceRow Test81', () => { 355 let mouseDragendEvent: MouseEvent = new MouseEvent('dragend', <MouseEventInit>{clientX: 1, clientY: 2}); 356 traceRow.describeEl.dispatchEvent(mouseDragendEvent); 357 }); 358 it('TraceRow Test82', () => { 359 let mouseDragLeaveEvent: MouseEvent = new MouseEvent('dragleave', <MouseEventInit>{clientX: 1, clientY: 2}); 360 traceRow.describeEl.dispatchEvent(mouseDragLeaveEvent); 361 }); 362 it('TraceRow Test83', () => { 363 let mouseDragStartEvent: MouseEvent = new MouseEvent('dragstart', <MouseEventInit>{clientX: 1, clientY: 2}); 364 traceRow.describeEl.dispatchEvent(mouseDragStartEvent); 365 }); 366 it('TraceRow Test84', () => { 367 traceRow.online = true; 368 expect(traceRow.draw(false)).toBeFalsy(); 369 }); 370 it('TraceRow Test85', () => { 371 const canvas = document.createElement('canvas'); 372 canvas.width = 34; 373 canvas.height = 1; 374 const ctx = canvas.getContext('2d'); 375 expect(traceRow.canvasSave(ctx)).toBeUndefined(); 376 }); 377 it('TraceRow Test86', () => { 378 const canvas = document.createElement('canvas'); 379 canvas.width = 8; 380 canvas.height = 1; 381 const ctx = canvas.getContext('2d'); 382 expect(traceRow.canvasRestore(ctx)).toBeUndefined(); 383 }); 384}); 385