/* * Copyright (c) 2025 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 type { LinterOptions } from '../lib/LinterOptions'; export enum TestMode { DEFAULT, AUTOFIX, ARKTS2, MIGRATE } export interface TestModeProperties { resultFileExt: string; mode: TestMode; modeOpts: LinterOptions; } export const DEFAULT_MODE_PROPERTIES: TestModeProperties = { resultFileExt: '.json', mode: TestMode.DEFAULT, modeOpts: {} }; const AUTOFIX_MODE_PROPERTIES: TestModeProperties = { resultFileExt: '.autofix.json', mode: TestMode.AUTOFIX, modeOpts: { enableAutofix: true } }; const ARKTS2_MODE_PROPERTIES: TestModeProperties = { resultFileExt: '.arkts2.json', mode: TestMode.ARKTS2, modeOpts: { arkts2: true } }; const MIGRATE_MODE_PROPERTIES: TestModeProperties = { resultFileExt: '.migrate.json', mode: TestMode.MIGRATE, modeOpts: { migratorMode: true, noMigrationBackupFile: true } }; export const testModePropsMap: Map = new Map([ ['default', DEFAULT_MODE_PROPERTIES], ['autofix', AUTOFIX_MODE_PROPERTIES], ['arkts2', ARKTS2_MODE_PROPERTIES], ['migrate', MIGRATE_MODE_PROPERTIES] ]);