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 { DataMessage } from '../../../../src/hdc/message/DataMessage'; 16fb726d48Sopenharmony_ci 17fb726d48Sopenharmony_ciwindow.ResizeObserver = 18fb726d48Sopenharmony_ci window.ResizeObserver || 19fb726d48Sopenharmony_ci jest.fn().mockImplementation(() => ({ 20fb726d48Sopenharmony_ci disconnect: jest.fn(), 21fb726d48Sopenharmony_ci observe: jest.fn(), 22fb726d48Sopenharmony_ci unobserve: jest.fn(), 23fb726d48Sopenharmony_ci })); 24fb726d48Sopenharmony_ci 25fb726d48Sopenharmony_ciimport { SpWebHdcShell } from '../../../../src/trace/component/setting/SpWebHdcShell'; 26fb726d48Sopenharmony_ciimport { EventCenter } from '../../../../src/trace/component/trace/base/EventCenter'; 27fb726d48Sopenharmony_ciimport { USBHead } from '../../../../src/hdc/message/USBHead'; 28fb726d48Sopenharmony_ci 29fb726d48Sopenharmony_cideclare global { 30fb726d48Sopenharmony_ci interface Window { 31fb726d48Sopenharmony_ci SmartEvent: { 32fb726d48Sopenharmony_ci UI: { 33fb726d48Sopenharmony_ci DeviceConnect: string; 34fb726d48Sopenharmony_ci DeviceDisConnect: string; 35fb726d48Sopenharmony_ci }; 36fb726d48Sopenharmony_ci }; 37fb726d48Sopenharmony_ci subscribe(evt: string, fn: (b: any) => void): void; 38fb726d48Sopenharmony_ci unsubscribe(evt: string, fn: (b: any) => void): void; 39fb726d48Sopenharmony_ci subscribeOnce(evt: string, fn: (b: any) => void): void; 40fb726d48Sopenharmony_ci publish(evt: string, data: any): void; 41fb726d48Sopenharmony_ci clearTraceRowComplete(): void; 42fb726d48Sopenharmony_ci } 43fb726d48Sopenharmony_ci} 44fb726d48Sopenharmony_ci 45fb726d48Sopenharmony_ciwindow.SmartEvent = { 46fb726d48Sopenharmony_ci UI: { 47fb726d48Sopenharmony_ci DeviceConnect: 'SmartEvent-DEVICE_CONNECT', 48fb726d48Sopenharmony_ci DeviceDisConnect: 'SmartEvent-DEVICE_DISCONNECT', 49fb726d48Sopenharmony_ci }, 50fb726d48Sopenharmony_ci}; 51fb726d48Sopenharmony_ci 52fb726d48Sopenharmony_ciWindow.prototype.subscribe = (ev, fn) => EventCenter.subscribe(ev, fn); 53fb726d48Sopenharmony_ciWindow.prototype.unsubscribe = (ev, fn) => EventCenter.unsubscribe(ev, fn); 54fb726d48Sopenharmony_ciWindow.prototype.publish = (ev, data) => EventCenter.publish(ev, data); 55fb726d48Sopenharmony_ciWindow.prototype.subscribeOnce = (ev, data) => EventCenter.subscribeOnce(ev, data); 56fb726d48Sopenharmony_ciWindow.prototype.clearTraceRowComplete = () => EventCenter.clearTraceRowComplete(); 57fb726d48Sopenharmony_cidescribe('SpWebHdcShell Test', () => { 58fb726d48Sopenharmony_ci let spWebHdcShell = new SpWebHdcShell(); 59fb726d48Sopenharmony_ci it('SpWebHdcShell Test01', function () { 60fb726d48Sopenharmony_ci expect(spWebHdcShell.initElements()).toBeUndefined(); 61fb726d48Sopenharmony_ci }); 62fb726d48Sopenharmony_ci 63fb726d48Sopenharmony_ci it('SpWebHdcShell Test02', function () { 64fb726d48Sopenharmony_ci expect(spWebHdcShell.initHtml()).not.toBeNull(); 65fb726d48Sopenharmony_ci }); 66fb726d48Sopenharmony_ci 67fb726d48Sopenharmony_ci it('SpWebHdcShell Test03', function () { 68fb726d48Sopenharmony_ci let arrayBufferA = new Uint8Array(1); 69fb726d48Sopenharmony_ci arrayBufferA.set([1]); 70fb726d48Sopenharmony_ci let arrayBufferB = [1, 2]; 71fb726d48Sopenharmony_ci expect(spWebHdcShell.arrayBufferCompare(arrayBufferA, arrayBufferB)).toBeFalsy(); 72fb726d48Sopenharmony_ci }); 73fb726d48Sopenharmony_ci 74fb726d48Sopenharmony_ci it('SpWebHdcShell Test05', function () { 75fb726d48Sopenharmony_ci let arrayBufferA = new Uint8Array(1); 76fb726d48Sopenharmony_ci arrayBufferA.set([2]); 77fb726d48Sopenharmony_ci let arrayBufferB = [1, 2]; 78fb726d48Sopenharmony_ci expect(spWebHdcShell.arrayBufferCompare(arrayBufferA, arrayBufferB)).toBeFalsy(); 79fb726d48Sopenharmony_ci }); 80fb726d48Sopenharmony_ci 81fb726d48Sopenharmony_ci it('SpWebHdcShell Test06', function () { 82fb726d48Sopenharmony_ci let dataHead = new USBHead([85, 66], 1, 77777, 0); 83fb726d48Sopenharmony_ci let dataMessage = new DataMessage(dataHead); 84fb726d48Sopenharmony_ci expect(spWebHdcShell.handleHdcRecvData(dataMessage)).toBeUndefined(); 85fb726d48Sopenharmony_ci }); 86fb726d48Sopenharmony_ci 87fb726d48Sopenharmony_ci it('SpWebHdcShell Test07', function () { 88fb726d48Sopenharmony_ci let dataHead = new USBHead([85, 66], 1, 77777, 21); 89fb726d48Sopenharmony_ci let arrayBuffer = new Uint8Array(21); 90fb726d48Sopenharmony_ci arrayBuffer.set([72,87,0,0,2,0,8,0,0,0,2,8,2,16,10,24,0,32,9,35,32]); 91fb726d48Sopenharmony_ci let body = new DataView(arrayBuffer.buffer); 92fb726d48Sopenharmony_ci let dataMessage = new DataMessage(dataHead, body); 93fb726d48Sopenharmony_ci expect(spWebHdcShell.handleHdcRecvData(dataMessage)).toBeUndefined(); 94fb726d48Sopenharmony_ci }); 95fb726d48Sopenharmony_ci it('SpWebHdcShell Test011', function () { 96fb726d48Sopenharmony_ci expect(spWebHdcShell.clear()).toBeUndefined(); 97fb726d48Sopenharmony_ci }); 98fb726d48Sopenharmony_ci it('SpWebHdcShell Test012', function () { 99fb726d48Sopenharmony_ci let shellStr = '111111111111111111111111111111'; 100fb726d48Sopenharmony_ci let res = spWebHdcShell.singleLineToMultiLine(shellStr,1,10) 101fb726d48Sopenharmony_ci expect(res).toEqual(["1111111111","1111111111","1111111111"]) 102fb726d48Sopenharmony_ci }); 103fb726d48Sopenharmony_ci it('SpWebHdcShell Test013', function () { 104fb726d48Sopenharmony_ci expect(spWebHdcShell.forwardSelected(0,1120,0,1111)).toBeUndefined(); 105fb726d48Sopenharmony_ci }); 106fb726d48Sopenharmony_ci}); 107