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 mockDocument() { 19 const document = { 20 create: function (...args) { 21 console.warn("document.create interface mocked in the Previewer. How this interface works on the Previewer may" + 22 " be different from that on a real device.") 23 const len = args.length 24 if (typeof args[len - 1] === 'function') { 25 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramStringMock) 26 } else { 27 return new Promise((resolve, reject) => { 28 resolve(paramMock.paramStringMock); 29 }) 30 } 31 }, 32 choose: function (...args) { 33 console.warn("document.choose interface mocked in the Previewer. How this interface works on the Previewer may" + 34 " be different from that on a real device.") 35 const len = args.length 36 if (typeof args[len - 1] === 'function') { 37 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramStringMock) 38 } else { 39 return new Promise((resolve, reject) => { 40 resolve(paramMock.paramStringMock); 41 }) 42 } 43 }, 44 show: function (...args) { 45 console.warn("document.show interface mocked in the Previewer. How this interface works on the Previewer may" + 46 " be different from that on a real device.") 47 const len = args.length 48 if (typeof args[len - 1] === 'function') { 49 args[len - 1].call(this, paramMock.businessErrorMock) 50 } else { 51 return new Promise((resolve, reject) => { 52 resolve(); 53 }) 54 } 55 } 56 } 57 return document 58}