From a0786fbd7733bf3a30e9e44a970d9ab9f815577a Mon Sep 17 00:00:00 2001 From: sambaby <1337922982@qq.com> Date: Fri, 15 Sep 2023 17:39:30 +0800 Subject: [PATCH] fixed 22ca202 from https://gitee.com/sambaby/tools_previewer/pulls/145 delete function not be need mock Signed-off-by: sambaby <1337922982@qq.com> --- .../mock-generate/src/generate/generateExportFunction.ts | 3 +++ .../src/generate/generateInterfaceDeclaration.ts | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/automock/mock-generate/src/generate/generateExportFunction.ts b/automock/mock-generate/src/generate/generateExportFunction.ts index 1975bd8..d198950 100644 --- a/automock/mock-generate/src/generate/generateExportFunction.ts +++ b/automock/mock-generate/src/generate/generateExportFunction.ts @@ -27,6 +27,9 @@ import { getCallbackStatement, getReturnStatement } from './generateCommonUtil'; * @returns */ export function generateExportFunction(functionEntity: FunctionEntity, sourceFile: SourceFile, mockApi: string): string { + if (functionEntity.functionName !== 'getContext') { + return ''; + } let functionBody = ''; functionBody = `global.${functionEntity.functionName} = function (...args) {`; functionBody += `console.warn('The ${functionEntity.functionName} interface in the Previewer is a mocked implementation and may behave differently than on a real device.');\n`; diff --git a/automock/mock-generate/src/generate/generateInterfaceDeclaration.ts b/automock/mock-generate/src/generate/generateInterfaceDeclaration.ts index 3403b36..a41c4e5 100644 --- a/automock/mock-generate/src/generate/generateInterfaceDeclaration.ts +++ b/automock/mock-generate/src/generate/generateInterfaceDeclaration.ts @@ -78,7 +78,11 @@ export function generateInterfaceDeclaration(rootName: string, interfaceEntity: interfaceBody += '}\n'; if (interfaceEntity.exportModifiers.includes(SyntaxKind.DeclareKeyword)) { - interfaceBody += `global.${interfaceName} = ${interfaceName};\n`; + interfaceBody += ` + if (!global.${interfaceName}) { + global.${interfaceName} = ${interfaceName};\n + } + `; } return interfaceBody; }