From c983e54e18be768e41b44962b0d1c45e50cf57f6 Mon Sep 17 00:00:00 2001 From: liuyanzhi Date: Tue, 6 Sep 2022 16:12:23 +0800 Subject: [PATCH] add quick mock Signed-off-by: liuyanzhi Change-Id: I217c5d4d4944d6e0e796bcb87463235f22aaaf5f --- .../main/extend/systemplugin/napi/index.js | 3 + .../napi/ohos_application_quickFixManager.js | 61 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 runtime/main/extend/systemplugin/napi/ohos_application_quickFixManager.js diff --git a/runtime/main/extend/systemplugin/napi/index.js b/runtime/main/extend/systemplugin/napi/index.js index c112eb0a..c7575605 100755 --- a/runtime/main/extend/systemplugin/napi/index.js +++ b/runtime/main/extend/systemplugin/napi/index.js @@ -28,6 +28,7 @@ import { mockStaticSubscriberExtensionAbility } from './ohos_application_StaticS import { mockFormHost } from './ohos_application_formHost' import { mockFormInfo } from './ohos_application_formInfo' import { mockErrorManager } from './ohos_application_errorManager' +import { mockQuickFixManager } from './ohos_application_quickFixManager' import { mockTestRunner } from './ohos_application_testRunner' import { mockWant } from './ohos_application_Want' import { mockServiceExtensionAbility } from './ohos_application_ServiceExtensionAbility' @@ -348,6 +349,8 @@ export function mockRequireNapiFun() { return mockAppManager(); case "application.Configuration": return mockConfiguration(); + case "application.quickFixManager": + return mockQuickFixManager(); case "application.ConfigurationConstant": return mockConfigurationConstant(); case "application.context": diff --git a/runtime/main/extend/systemplugin/napi/ohos_application_quickFixManager.js b/runtime/main/extend/systemplugin/napi/ohos_application_quickFixManager.js new file mode 100644 index 00000000..5576c94c --- /dev/null +++ b/runtime/main/extend/systemplugin/napi/ohos_application_quickFixManager.js @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { paramMock } from "../utils" + +export const HapModuleQuickFixInfo = { + moduleName: '[PC preview] unknow moduleName', + originHapHash: '[PC preview] unknow originHapHash', + quickFixFilePath: '[PC preview] unknow quickFixFilePath', +} +export const ApplicationQuickFixInfo = { + bundleName: '[PC preview] unknow bundleName', + bundleVersionCode: '[PC preview] unknow bundleVersionCode', + bundleVersionName: '[PC preview] unknow bundleVersionName', + quickFixVersionCode: '[PC preview] unknow quickFixVersionCode', + quickFixVersionName: '[PC preview] unknow quickFixVersionName', + hapModuleQuickFixInfo: [HapModuleQuickFixInfo], +} +export function mockQuickFixManager() { + const quickFixManager = { + HapModuleQuickFixInfo, + ApplicationQuickFixInfo, + applyQuickFix: function (...args) { + console.warn('quickFixManager.applyQuickFix interface mocked in the Previewer. How this interface works on the' + + ' Previewer may be different from that on a real device.'); + const len = args.length; + if (typeof args[len - 1] === 'function') { + args[len - 1].call(this, paramMock.businessErrorMock); + } else { + return new Promise((resolve) => { + resolve(); + }); + } + }, + getApplicationQuickFixInfo: function (...args) { + console.warn('quickFixManager.getApplicationQuickFixInfo interface mocked in the Previewer. How this interface works on the' + + ' Previewer may be different from that on a real device.'); + const len = args.length; + if (typeof args[len - 1] === 'function') { + args[len - 1].call(this, paramMock.businessErrorMock, ApplicationQuickFixInfo); + } else { + return new Promise((resolve) => { + resolve(ApplicationQuickFixInfo); + }); + } + }, + } + return quickFixManager +} \ No newline at end of file