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 { SpVirtualMemChart } from '../../../../src/trace/component/chart/SpVirtualMemChart'; 17jest.mock('../../../../src/trace/component/SpSystemTrace', () => { 18 return {}; 19}); 20import { TraceRow } from '../../../../src/trace/component/trace/base/TraceRow'; 21const intersectionObserverMock = () => ({ 22 observe: () => null, 23}); 24window.IntersectionObserver = jest.fn().mockImplementation(intersectionObserverMock); 25// @ts-ignore 26window.ResizeObserver = window.ResizeObserver || 27 jest.fn().mockImplementation(() => ({ 28 disconnect: jest.fn(), observe: jest.fn(), unobserve: jest.fn(), 29 })); 30jest.mock('../../../../src/trace/database/ui-worker/ProcedureWorker', () => { 31 return {}; 32}); 33jest.mock('../../../../src/js-heap/model/DatabaseStruct'); 34jest.mock('../../../../src/trace/database/ui-worker/ProcedureWorkerSnapshot', () => { 35 return {}; 36}); 37const memorySqlite = require('../../../../src/trace/database/sql/Memory.sql'); 38jest.mock('../../../../src/trace/database/sql/Memory.sql'); 39describe('SpVirtualMemChart Test', () => { 40 let htmlElement: any = document.createElement('sp-system-trace'); 41 let spVirtualMemChart = new SpVirtualMemChart(htmlElement); 42 let MockVirtualMemory = memorySqlite.queryVirtualMemory; 43 MockVirtualMemory.mockResolvedValue([ 44 { 45 id: 0, 46 name: 'name', 47 }, 48 ]); 49 50 let MockVirtualMemoryData = memorySqlite.queryVirtualMemoryData; 51 MockVirtualMemoryData.mockResolvedValue([ 52 { 53 startTime: 0, 54 value: 20, 55 filterID: 0, 56 }, 57 ]); 58 59 it('SpVirtualMemChart01', function () { 60 spVirtualMemChart.init(); 61 expect(spVirtualMemChart).toBeDefined(); 62 }); 63 64 it('SpVirtualMemChart02', function () { 65 let folder = new TraceRow({ 66 canvasNumber: 1, 67 alpha: false, 68 contextId: '2d', 69 isOffScreen: htmlElement.isCanvasOffScreen, 70 }); 71 spVirtualMemChart.initVirtualMemoryRow(folder, 2, 'name'); 72 expect(spVirtualMemChart).toBeDefined(); 73 }); 74}); 75