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_ciimport { SpStatisticsHttpUtil } from '../../src/statistics/util/SpStatisticsHttpUtil'; 16fb726d48Sopenharmony_ci 17fb726d48Sopenharmony_ciSpStatisticsHttpUtil.initStatisticsServerConfig = jest.fn(() => true); 18fb726d48Sopenharmony_ciSpStatisticsHttpUtil.addUserVisitAction = jest.fn(() => true); 19fb726d48Sopenharmony_ci 20fb726d48Sopenharmony_ciconst intersectionObserverMock = () => ({ 21fb726d48Sopenharmony_ci observe: () => null, 22fb726d48Sopenharmony_ci}); 23fb726d48Sopenharmony_ciwindow.IntersectionObserver = jest.fn().mockImplementation(intersectionObserverMock); 24fb726d48Sopenharmony_ciimport { SpApplication } from '../../src/trace/SpApplication'; 25fb726d48Sopenharmony_ciimport { Theme } from '../../src/trace/component/trace/base/CustomThemeColor'; 26fb726d48Sopenharmony_ciimport { LongTraceDBUtils } from '../../src/trace/database/LongTraceDBUtils'; 27fb726d48Sopenharmony_ci// @ts-ignore 28fb726d48Sopenharmony_ciwindow.ResizeObserver = 29fb726d48Sopenharmony_ci window.ResizeObserver || 30fb726d48Sopenharmony_ci jest.fn().mockImplementation(() => ({ 31fb726d48Sopenharmony_ci disconnect: jest.fn(), 32fb726d48Sopenharmony_ci observe: jest.fn(), 33fb726d48Sopenharmony_ci unobserve: jest.fn(), 34fb726d48Sopenharmony_ci })); 35fb726d48Sopenharmony_ci 36fb726d48Sopenharmony_cidescribe('spApplication Test', () => { 37fb726d48Sopenharmony_ci LongTraceDBUtils.getInstance().indexedDBHelp = jest.fn(() => {}); 38fb726d48Sopenharmony_ci LongTraceDBUtils.getInstance().indexedDBHelp.open = jest.fn(() => {}); 39fb726d48Sopenharmony_ci LongTraceDBUtils.getInstance().createDBAndTable = jest.fn(() => { 40fb726d48Sopenharmony_ci return { 41fb726d48Sopenharmony_ci then: Function, 42fb726d48Sopenharmony_ci }; 43fb726d48Sopenharmony_ci }); 44fb726d48Sopenharmony_ci document.body.innerHTML = '<sp-application id="sss"></sp-application>'; 45fb726d48Sopenharmony_ci let spApplication = document.querySelector('#sss') as SpApplication; 46fb726d48Sopenharmony_ci it('spApplicationTest01', function () { 47fb726d48Sopenharmony_ci spApplication.dark = true; 48fb726d48Sopenharmony_ci expect(SpApplication.name).toEqual('SpApplication'); 49fb726d48Sopenharmony_ci }); 50fb726d48Sopenharmony_ci 51fb726d48Sopenharmony_ci it('spApplicationTest02', function () { 52fb726d48Sopenharmony_ci spApplication.dark = false; 53fb726d48Sopenharmony_ci expect(spApplication.dark).toBeFalsy(); 54fb726d48Sopenharmony_ci }); 55fb726d48Sopenharmony_ci 56fb726d48Sopenharmony_ci it('spApplicationTest03', function () { 57fb726d48Sopenharmony_ci spApplication.server = true; 58fb726d48Sopenharmony_ci expect(spApplication.server).toBeTruthy(); 59fb726d48Sopenharmony_ci }); 60fb726d48Sopenharmony_ci 61fb726d48Sopenharmony_ci it('spApplicationTest04', function () { 62fb726d48Sopenharmony_ci spApplication.server = false; 63fb726d48Sopenharmony_ci expect(spApplication.server).toBeFalsy(); 64fb726d48Sopenharmony_ci }); 65fb726d48Sopenharmony_ci 66fb726d48Sopenharmony_ci it('spApplicationTest05', function () { 67fb726d48Sopenharmony_ci spApplication.querySql = true; 68fb726d48Sopenharmony_ci expect(spApplication.querySql).toBeTruthy(); 69fb726d48Sopenharmony_ci }); 70fb726d48Sopenharmony_ci 71fb726d48Sopenharmony_ci it('spApplicationTest06', function () { 72fb726d48Sopenharmony_ci spApplication.querySql = false; 73fb726d48Sopenharmony_ci expect(spApplication.querySql).toBeFalsy(); 74fb726d48Sopenharmony_ci }); 75fb726d48Sopenharmony_ci 76fb726d48Sopenharmony_ci it('spApplicationTest07', function () { 77fb726d48Sopenharmony_ci spApplication.search = true; 78fb726d48Sopenharmony_ci expect(spApplication.search).toBeTruthy(); 79fb726d48Sopenharmony_ci }); 80fb726d48Sopenharmony_ci 81fb726d48Sopenharmony_ci it('spApplicationTest08', function () { 82fb726d48Sopenharmony_ci spApplication.search = false; 83fb726d48Sopenharmony_ci expect(spApplication.search).toBeFalsy(); 84fb726d48Sopenharmony_ci }); 85fb726d48Sopenharmony_ci 86fb726d48Sopenharmony_ci it('spApplicationTest09', function () { 87fb726d48Sopenharmony_ci expect(spApplication.removeSkinListener([])).toBeUndefined(); 88fb726d48Sopenharmony_ci }); 89fb726d48Sopenharmony_ci 90fb726d48Sopenharmony_ci it('spApplicationTest10', function () { 91fb726d48Sopenharmony_ci expect(spApplication.freshMenuDisable(true)).toBeUndefined(); 92fb726d48Sopenharmony_ci }); 93fb726d48Sopenharmony_ci 94fb726d48Sopenharmony_ci it('spApplicationTest11', function () { 95fb726d48Sopenharmony_ci expect(spApplication.addSkinListener()).toBeUndefined(); 96fb726d48Sopenharmony_ci }); 97fb726d48Sopenharmony_ci 98fb726d48Sopenharmony_ci it('spApplicationTest12', function () { 99fb726d48Sopenharmony_ci expect(spApplication.removeSkinListener()).toBeUndefined(); 100fb726d48Sopenharmony_ci }); 101fb726d48Sopenharmony_ci 102fb726d48Sopenharmony_ci it('spApplicationTest13', function () { 103fb726d48Sopenharmony_ci spApplication.dispatchEvent(new Event('dragleave')); 104fb726d48Sopenharmony_ci }); 105fb726d48Sopenharmony_ci 106fb726d48Sopenharmony_ci it('spApplicationTest14', function () { 107fb726d48Sopenharmony_ci spApplication.dispatchEvent(new Event('drop')); 108fb726d48Sopenharmony_ci spApplication.removeSkinListener = jest.fn(() => undefined); 109fb726d48Sopenharmony_ci expect(spApplication.removeSkinListener({})).toBeUndefined(); 110fb726d48Sopenharmony_ci }); 111fb726d48Sopenharmony_ci 112fb726d48Sopenharmony_ci it('spApplicationTest15', function () { 113fb726d48Sopenharmony_ci spApplication.dark = false; 114fb726d48Sopenharmony_ci expect(spApplication.dark).toBeFalsy(); 115fb726d48Sopenharmony_ci }); 116fb726d48Sopenharmony_ci 117fb726d48Sopenharmony_ci it('spApplicationTest16', function () { 118fb726d48Sopenharmony_ci spApplication.querySql = false; 119fb726d48Sopenharmony_ci expect(spApplication.querySql).toBeFalsy(); 120fb726d48Sopenharmony_ci }); 121fb726d48Sopenharmony_ci 122fb726d48Sopenharmony_ci it('spApplicationTest17', function () { 123fb726d48Sopenharmony_ci expect(spApplication.initHtml()).not.toBeUndefined(); 124fb726d48Sopenharmony_ci }); 125fb726d48Sopenharmony_ci 126fb726d48Sopenharmony_ci it('spApplicationTest18', function () { 127fb726d48Sopenharmony_ci const mockFn = jest.fn(); 128fb726d48Sopenharmony_ci SpStatisticsHttpUtil.initStatisticsServerConfig = mockFn; 129fb726d48Sopenharmony_ci SpStatisticsHttpUtil.addUserVisitAction = mockFn; 130fb726d48Sopenharmony_ci LongTraceDBUtils.getInstance().createDBAndTable().then = mockFn; 131fb726d48Sopenharmony_ci expect(spApplication.initPlugin()).toBeUndefined(); 132fb726d48Sopenharmony_ci spApplication.initPlugin(); 133fb726d48Sopenharmony_ci expect(mockFn).toHaveBeenCalled(); 134fb726d48Sopenharmony_ci }); 135fb726d48Sopenharmony_ci 136fb726d48Sopenharmony_ci it('spApplicationTest19', function () { 137fb726d48Sopenharmony_ci expect(spApplication.initElements()).toBeUndefined(); 138fb726d48Sopenharmony_ci }); 139fb726d48Sopenharmony_ci 140fb726d48Sopenharmony_ci it('spApplicationTest20', function () { 141fb726d48Sopenharmony_ci expect(spApplication.getFileTypeAndPages('aa_gg', false, [100, 200, 300])).not.toBeUndefined(); 142fb726d48Sopenharmony_ci expect(spApplication.getFileTypeAndPages('aa_gg', true, [100, 200, 300])).not.toBeUndefined(); 143fb726d48Sopenharmony_ci }); 144fb726d48Sopenharmony_ci 145fb726d48Sopenharmony_ci it('spApplicationTest21', function () { 146fb726d48Sopenharmony_ci let str = 'aaa'; 147fb726d48Sopenharmony_ci let buffer = new ArrayBuffer(str.length * 2); 148fb726d48Sopenharmony_ci expect(spApplication.longTraceFileReadMessagePush(100, false, 1, 100, 20, 'i', buffer)).toBeUndefined(); 149fb726d48Sopenharmony_ci expect(spApplication.longTraceFileReadMessagePush(1, true, 1, 100, 20, 'i', buffer)).toBeUndefined(); 150fb726d48Sopenharmony_ci }); 151fb726d48Sopenharmony_ci 152fb726d48Sopenharmony_ci it('spApplicationTest22', function () { 153fb726d48Sopenharmony_ci spApplication.longTraceTypeMessageMap = null; 154fb726d48Sopenharmony_ci expect(spApplication.longTraceFileReadMessageHandler(2, 'sss')).toBeUndefined(); 155fb726d48Sopenharmony_ci }); 156fb726d48Sopenharmony_ci 157fb726d48Sopenharmony_ci it('spApplicationTest23', function () { 158fb726d48Sopenharmony_ci spApplication.longTraceTypeMessageMap!.set(2, [ 159fb726d48Sopenharmony_ci { 160fb726d48Sopenharmony_ci startIndex: 1, 161fb726d48Sopenharmony_ci endIndex: 2, 162fb726d48Sopenharmony_ci size: 5, 163fb726d48Sopenharmony_ci fileType: 's', 164fb726d48Sopenharmony_ci }, 165fb726d48Sopenharmony_ci ]); 166fb726d48Sopenharmony_ci expect(spApplication.longTraceFileReadMessageHandler(2, 'sss')).toBeUndefined(); 167fb726d48Sopenharmony_ci }); 168fb726d48Sopenharmony_ci 169fb726d48Sopenharmony_ci it('spApplicationTest24', function () { 170fb726d48Sopenharmony_ci spApplication.longTraceTypeMessageMap!.set(2, [ 171fb726d48Sopenharmony_ci { 172fb726d48Sopenharmony_ci startIndex: 1, 173fb726d48Sopenharmony_ci endIndex: 2, 174fb726d48Sopenharmony_ci size: 5, 175fb726d48Sopenharmony_ci fileType: 's', 176fb726d48Sopenharmony_ci }, 177fb726d48Sopenharmony_ci ]); 178fb726d48Sopenharmony_ci expect(spApplication.longTraceFileReadMessageHandler(1, 'sss')).toBeUndefined(); 179fb726d48Sopenharmony_ci }); 180fb726d48Sopenharmony_ci 181fb726d48Sopenharmony_ci it('spApplicationTest25', function () { 182fb726d48Sopenharmony_ci expect(spApplication.changeTheme(Theme.DARK)).toBeUndefined(); 183fb726d48Sopenharmony_ci }); 184fb726d48Sopenharmony_ci 185fb726d48Sopenharmony_ci it('spApplicationTest26', function () { 186fb726d48Sopenharmony_ci expect(spApplication.changeTheme(Theme.DARK, ['#00ff00'])).toBeUndefined(); 187fb726d48Sopenharmony_ci }); 188fb726d48Sopenharmony_ci 189fb726d48Sopenharmony_ci it('spApplicationTest27', function () { 190fb726d48Sopenharmony_ci expect(spApplication.changeTheme(Theme.LIGHT, ['#00ff00'])).toBeUndefined(); 191fb726d48Sopenharmony_ci }); 192fb726d48Sopenharmony_ci 193fb726d48Sopenharmony_ci it('spApplicationTest28', function () { 194fb726d48Sopenharmony_ci expect(spApplication.freshMenuDisable(true)).toBeUndefined(); 195fb726d48Sopenharmony_ci }); 196fb726d48Sopenharmony_ci 197fb726d48Sopenharmony_ci it('spApplicationTest29', function () { 198fb726d48Sopenharmony_ci spApplication.initElements(); 199fb726d48Sopenharmony_ci expect(spApplication.freshMenuDisable(false)).toBeUndefined(); 200fb726d48Sopenharmony_ci }); 201fb726d48Sopenharmony_ci}); 202