• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}