• 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
16import { paramMock } from "../utils"
17
18export function mockSystemTime() {
19  const systemTime = {
20    setTime: function (...args) {
21      console.warn('systemTime.setTime interface mocked in the Previewer. How this interface works on the'
22        + 'Previewer may 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);
26      } else {
27        return new Promise((resolve, reject) => {
28          resolve();
29        });
30      }
31    },
32    getCurrentTime: function (...args) {
33      console.warn('systemTime.getCurrentTime interface mocked in the Previewer. How this interface works on the'
34        + 'Previewer may 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.paramNumberMock);
38      } else {
39        return new Promise((resolve, reject) => {
40          resolve(paramMock.paramNumberMock);
41        });
42      }
43    },
44    getCurrentTimeNs: function (...args) {
45      console.warn('systemTime.getCurrentTimeNs interface mocked in the Previewer.'
46        + 'How this interface works on the Previewer may 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, paramMock.paramNumberMock);
50      } else {
51        return new Promise((resolve, reject) => {
52          resolve(paramMock.paramNumberMock);
53        });
54      }
55    },
56    getRealActiveTime: function (...args) {
57      console.warn('systemTime.getRealActiveTime interface mocked in the Previewer.'
58        + 'How this interface works on the Previewer may be different from that on a real device.');
59      const len = args.length;
60      if (typeof args[len - 1] === 'function') {
61        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock);
62      } else {
63        return new Promise((resolve, reject) => {
64          resolve(paramMock.paramNumberMock);
65        });
66      }
67    },
68    getRealActiveTimeNs: function (...args) {
69      console.warn('systemTime.getRealActiveTimeNs interface mocked in the Previewer.'
70        + 'How this interface works on the Previewer may be different from that on a real device.');
71      const len = args.length;
72      if (typeof args[len - 1] === 'function') {
73        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock);
74      } else {
75        return new Promise((resolve, reject) => {
76          resolve(paramMock.paramNumberMock);
77        });
78      }
79    },
80    getRealTime: function (...args) {
81      console.warn('systemTime.getRealTime interface mocked in the Previewer. How this interface works on the'
82        + 'Previewer may be different from that on a real device.');
83      const len = args.length;
84      if (typeof args[len - 1] === 'function') {
85        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock);
86      } else {
87        return new Promise((resolve, reject) => {
88          resolve(paramMock.paramNumberMock);
89        });
90      }
91    },
92    getRealTimeNs: function (...args) {
93      console.warn('systemTime.getRealTimeNs interface mocked in the Previewer. How this interface works on the'
94        + 'Previewer may be different from that on a real device.');
95      const len = args.length;
96      if (typeof args[len - 1] === 'function') {
97        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock);
98      } else {
99        return new Promise((resolve, reject) => {
100          resolve(paramMock.paramNumberMock);
101        });
102      }
103    },
104    setDate: function (...args) {
105      console.warn('systemTime.setDate interface mocked in the Previewer. How this interface works on the'
106        + 'Previewer may be different from that on a real device.');
107      const len = args.length;
108      if (typeof args[len - 1] === 'function') {
109        args[len - 1].call(this, paramMock.businessErrorMock);
110      } else {
111        return new Promise((resolve, reject) => {
112          resolve();
113        });
114      }
115    },
116    getDate: function (...args) {
117      console.warn('systemTime.getDate interface mocked in the Previewer. How this interface works on the'
118        + 'Previewer may be different from that on a real device.');
119      const len = args.length;
120      if (typeof args[len - 1] === 'function') {
121        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramObjectMock);
122      } else {
123        return new Promise((resolve, reject) => {
124          resolve(paramMock.paramObjectMock);
125        });
126      }
127    },
128    setTimezone: function (...args) {
129      console.warn('systemTime.setTimezone interface mocked in the Previewer. How this interface works on the'
130        + 'Previewer may be different from that on a real device.');
131      const len = args.length;
132      if (typeof args[len - 1] === 'function') {
133        args[len - 1].call(this, paramMock.businessErrorMock);
134      } else {
135        return new Promise((resolve, reject) => {
136          resolve();
137        });
138      }
139    },
140    getTimeZone: function (...args) {
141      console.warn('systemTime.getTimeZone interface mocked in the Previewer. How this interface works on the'
142        + 'Previewer may be different from that on a real device.');
143      const len = args.length;
144      if (typeof args[len - 1] === 'function') {
145        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramStringMock);
146      } else {
147        return new Promise((resolve, reject) => {
148          resolve(paramMock.paramStringMock);
149        });
150      }
151    },
152  }
153  return systemTime
154}