1/* 2 * Copyright (c) 2021 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 { paramMock } from "../utils" 17 18export function mockSystemTimer() { 19 const systemTimer = { 20 TIMER_TYPE_REALTIME: '[PC preview] unknow TIMER_TYPE_REALTIME', 21 TIMER_TYPE_WAKEUP: '[PC preview] unknow TIMER_TYPE_WAKEUP', 22 TIMER_TYPE_EXACT: '[PC preview] unknow TIMER_TYPE_EXACT', 23 TIMER_TYPE_IDLE: '[PC preview] unknow TIMER_TYPE_IDLE', 24 createTimer: function (...args) { 25 console.warn("systemTimer.createTimer interface mocked in the Previewer. How this interface works on the" + 26 " Previewer may be different from that on a real device.") 27 const len = args.length 28 if (typeof args[len - 1] === 'function') { 29 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock) 30 } else { 31 return new Promise((resolve, reject) => { 32 resolve(paramMock.paramNumberMock); 33 }) 34 } 35 }, 36 startTimer: function (...args) { 37 console.warn("systemTimer.startTimer interface mocked in the Previewer. How this interface works on the" + 38 " Previewer may be different from that on a real device.") 39 const len = args.length 40 if (typeof args[len - 1] === 'function') { 41 args[len - 1].call(this, paramMock.businessErrorMock) 42 } else { 43 return new Promise((resolve, reject) => { 44 resolve(); 45 }) 46 } 47 }, 48 stopTimer: function (...args) { 49 console.warn("systemTimer.stopTimer interface mocked in the Previewer. How this interface works on the" + 50 " Previewer may be different from that on a real device.") 51 const len = args.length 52 if (typeof args[len - 1] === 'function') { 53 args[len - 1].call(this, paramMock.businessErrorMock) 54 } else { 55 return new Promise((resolve, reject) => { 56 resolve(); 57 }) 58 } 59 }, 60 destroyTimer: function (...args) { 61 console.warn("systemTimer.destroyTimer interface mocked in the Previewer. How this interface works on the" + 62 " Previewer may be different from that on a real device.") 63 const len = args.length 64 if (typeof args[len - 1] === 'function') { 65 args[len - 1].call(this, paramMock.businessErrorMock) 66 } else { 67 return new Promise((resolve, reject) => { 68 resolve(); 69 }) 70 } 71 } 72 } 73 return systemTimer 74}