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 16export function mockNetwork() { 17 const data = { 18 metered: true, 19 type: "5g" 20 } 21 const network = { 22 getType: function (...args) { 23 console.warn("network.getType interface mocked in the Previewer. How this interface works on the Previewer may" + 24 " be different from that on a real device.") 25 args[0].success(data) 26 args[0].complete() 27 }, 28 subscribe: function (...args) { 29 console.warn("network.subscribe interface mocked in the Previewer. How this interface works on the Previewer" + 30 " may be different from that on a real device.") 31 if (!this.unsubscribeNetwork) { 32 this.unsubscribeNetwork = setInterval(() => { 33 args[0].success(data) 34 }, 3000) 35 } 36 }, 37 unsubscribe: function () { 38 console.warn("network.unsubscribe interface mocked in the Previewer. How this interface works on the Previewer" + 39 " may be different from that on a real device.") 40 clearInterval(this.unsubscribeNetwork) 41 delete this.unsubscribeNetwork 42 } 43 } 44 return network 45}