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_ci 16fb726d48Sopenharmony_ci 17fb726d48Sopenharmony_ciimport { 18fb726d48Sopenharmony_ci frameAnimationReceiver, 19fb726d48Sopenharmony_ci frameDynamicReceiver, 20fb726d48Sopenharmony_ci frameSpacingReceiver 21fb726d48Sopenharmony_ci} from '../../../../src/trace/database/data-trafic/FrameDynamicEffectReceiver'; 22fb726d48Sopenharmony_ci 23fb726d48Sopenharmony_cidescribe('FrameDynamicEffectReceiver Test', () => { 24fb726d48Sopenharmony_ci let data = { 25fb726d48Sopenharmony_ci action: "exec-proto", 26fb726d48Sopenharmony_ci id: "1", 27fb726d48Sopenharmony_ci name: 18, 28fb726d48Sopenharmony_ci params: { 29fb726d48Sopenharmony_ci recordStartNS: 4049847357191, 30fb726d48Sopenharmony_ci recordEndNS: 4059275045731, 31fb726d48Sopenharmony_ci startNS: 0, 32fb726d48Sopenharmony_ci t: 1703474011224, 33fb726d48Sopenharmony_ci width: 1407, 34fb726d48Sopenharmony_ci trafic: 3 35fb726d48Sopenharmony_ci } 36fb726d48Sopenharmony_ci }; 37fb726d48Sopenharmony_ci let animationData = [{ 38fb726d48Sopenharmony_ci frameAnimationData: { 39fb726d48Sopenharmony_ci depth: 0, 40fb726d48Sopenharmony_ci dur: 79379165, 41fb726d48Sopenharmony_ci endTs: 1451353646, 42fb726d48Sopenharmony_ci name: "H:APP_LIST_FLING, com.tencent.mm", 43fb726d48Sopenharmony_ci startTs: 1371974481 44fb726d48Sopenharmony_ci } 45fb726d48Sopenharmony_ci }] 46fb726d48Sopenharmony_ci let dynamicData = [{ 47fb726d48Sopenharmony_ci frameDynamicData: { 48fb726d48Sopenharmony_ci alpha: "0.08", 49fb726d48Sopenharmony_ci appName: "WindowScene_mm37", 50fb726d48Sopenharmony_ci height: "1119", 51fb726d48Sopenharmony_ci ts: 179994792, 52fb726d48Sopenharmony_ci width: "543", 53fb726d48Sopenharmony_ci x: "513", 54fb726d48Sopenharmony_ci y: "1017" 55fb726d48Sopenharmony_ci } 56fb726d48Sopenharmony_ci }, { 57fb726d48Sopenharmony_ci frameDynamicData: { 58fb726d48Sopenharmony_ci alpha: "0.26", 59fb726d48Sopenharmony_ci appName: "WindowScene_mm37", 60fb726d48Sopenharmony_ci height: "1293", 61fb726d48Sopenharmony_ci ts: 196844792, 62fb726d48Sopenharmony_ci width: "627", 63fb726d48Sopenharmony_ci x: "459", 64fb726d48Sopenharmony_ci y: "938" 65fb726d48Sopenharmony_ci } 66fb726d48Sopenharmony_ci }] 67fb726d48Sopenharmony_ci let frameSpacingData = [{ 68fb726d48Sopenharmony_ci frameSpacingData: { 69fb726d48Sopenharmony_ci currentFrameHeight: "1119", 70fb726d48Sopenharmony_ci currentFrameWidth: "543", 71fb726d48Sopenharmony_ci currentTs: 179994792, 72fb726d48Sopenharmony_ci frameSpacingResult: 0, 73fb726d48Sopenharmony_ci nameId: "WindowScene_mm37", 74fb726d48Sopenharmony_ci preFrameHeight: 0, 75fb726d48Sopenharmony_ci preFrameWidth: 0, 76fb726d48Sopenharmony_ci preTs: 0, 77fb726d48Sopenharmony_ci preX: 0, 78fb726d48Sopenharmony_ci preY: 0, 79fb726d48Sopenharmony_ci x: "513", 80fb726d48Sopenharmony_ci y: "1017" 81fb726d48Sopenharmony_ci } 82fb726d48Sopenharmony_ci }] 83fb726d48Sopenharmony_ci it('FrameDynamicEffectReceiverTest01', function () { 84fb726d48Sopenharmony_ci const mockCallback = jest.fn(() => animationData); 85fb726d48Sopenharmony_ci const mockPostMessage = jest.fn(); 86fb726d48Sopenharmony_ci (self as unknown as Worker).postMessage = mockPostMessage; 87fb726d48Sopenharmony_ci frameAnimationReceiver(data, mockCallback); 88fb726d48Sopenharmony_ci expect(mockCallback).toHaveBeenCalled(); 89fb726d48Sopenharmony_ci }); 90fb726d48Sopenharmony_ci 91fb726d48Sopenharmony_ci it('FrameDynamicEffectReceiverTest02', function () { 92fb726d48Sopenharmony_ci const mockCallback = jest.fn(() => dynamicData); 93fb726d48Sopenharmony_ci const mockPostMessage = jest.fn(); 94fb726d48Sopenharmony_ci (self as unknown as Worker).postMessage = mockPostMessage; 95fb726d48Sopenharmony_ci frameDynamicReceiver(data, mockCallback); 96fb726d48Sopenharmony_ci expect(mockCallback).toHaveBeenCalled(); 97fb726d48Sopenharmony_ci }); 98fb726d48Sopenharmony_ci it('FrameDynamicEffectReceiverTest03', function () { 99fb726d48Sopenharmony_ci let mockCallback = jest.fn(() => frameSpacingData); 100fb726d48Sopenharmony_ci (self as unknown as Worker).postMessage = jest.fn(); 101fb726d48Sopenharmony_ci frameSpacingReceiver(data, mockCallback); 102fb726d48Sopenharmony_ci expect(mockCallback).toHaveBeenCalled(); 103fb726d48Sopenharmony_ci }); 104fb726d48Sopenharmony_ci});