From 210c89728c98a06e81321387f733ee76e55a54dc Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Mon, 16 Dec 2024 15:48:21 +0200 Subject: [PATCH 01/20] feat: Detect test resources in HTML test files --- src/linter/html/transpiler.ts | 24 ++++++++++++++++++++++++ src/linter/messages.ts | 10 ++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/linter/html/transpiler.ts b/src/linter/html/transpiler.ts index 9aebfd09f..6e1031f77 100644 --- a/src/linter/html/transpiler.ts +++ b/src/linter/html/transpiler.ts @@ -29,6 +29,8 @@ export default async function transpileHtml( if (!hasSrc && tag.textNodes?.length > 0) { report.addMessage(MESSAGE.CSP_UNSAFE_INLINE_SCRIPT, tag); } + + detectTestStarter(resourcePath, tag, context); }); stylesheetLinkTags.forEach((tag) => { @@ -52,6 +54,28 @@ export default async function transpileHtml( } } +function detectTestStarter(resourcePath: ResourcePath, tag: Tag, context: LinterContext) { + if (resourcePath.includes("testsuite.qunit.html")) { + const hasCreateSuite = tag.attributes.some((attr) => { + return attr.name.value.toLowerCase() === "src" && + attr.value.value.includes("resources/sap/ui/test/starter/createSuite.js"); + }); + + if (!hasCreateSuite) { + context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, {message: "Prefer test starter"}); + } + } else if (resourcePath.includes("qunit.html")) { + // resources/sap/ui/test/starter/runTest.js + const hasRunTest = tag.attributes.some((attr) => { + return attr.name.value.toLowerCase() === "src" && + attr.value.value.includes("resources/sap/ui/test/starter/runTest.js"); + }); + if (!hasRunTest) { + context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, {message: "Prefer test starter"}); + } + } +} + function findBootstrapTag(tags: Tag[]): Tag | undefined { // First search for script tag with id "sap-ui-bootstrap" for (const tag of tags) { diff --git a/src/linter/messages.ts b/src/linter/messages.ts index 0e7989ea3..ec424de68 100644 --- a/src/linter/messages.ts +++ b/src/linter/messages.ts @@ -12,6 +12,7 @@ const RULES = { "no-pseudo-modules": "no-pseudo-modules", "parsing-error": "parsing-error", "ui5-class-declaration": "ui5-class-declaration", + "prefer-test-starter": "prefer-test-starter", } as const; export enum LintMessageSeverity { @@ -63,6 +64,7 @@ export enum MESSAGE { PARTIALLY_DEPRECATED_ODATA_MODEL_V2_CREATE_ENTRY, PARTIALLY_DEPRECATED_ODATA_MODEL_V2_CREATE_ENTRY_PROPERTIES_ARRAY, PARTIALLY_DEPRECATED_PARAMETERS_GET, + PREFER_TEST_STARTER, REDUNDANT_BOOTSTRAP_PARAM, REDUNDANT_BOOTSTRAP_PARAM_ERROR, REDUNDANT_VIEW_CONFIG_PROPERTY, @@ -550,6 +552,14 @@ export const MESSAGE_INFO = { }, }, + [MESSAGE.PREFER_TEST_STARTER]: { + severity: LintMessageSeverity.Warning, + ruleId: RULES["prefer-test-starter"], + + message: ({message}: {message?: string}) => message, + details: () => undefined, + }, + [MESSAGE.REPLACED_BOOTSTRAP_PARAM]: { severity: LintMessageSeverity.Error, ruleId: RULES["no-deprecated-api"], From 8a9b06e3158da6587698e7ffba9fed6d2d9a032b Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 17 Dec 2024 14:40:13 +0200 Subject: [PATCH 02/20] feat: Detect attachInit or ready in *.qunit.js --- src/linter/ui5Types/SourceFileLinter.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index 8f362c170..724df9f38 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -790,6 +790,11 @@ export default class SourceFileLinter { this.#analyzeMobileInit(node); } else if (symbolName === "setTheme" && moduleName === "sap/ui/core/Theming") { this.#analyzeThemingSetTheme(node); + } else if (this.sourceFile.fileName.includes(".qunit.js") && + symbolName === "ready" && moduleName === "sap/ui/core/Core") { + this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, { + message: "Prefer test starter", + }, node); } } @@ -826,11 +831,19 @@ export default class SourceFileLinter { } } + const propName = getPropertyName(reportNode); + this.#reporter.addMessage(MESSAGE.DEPRECATED_FUNCTION_CALL, { - functionName: getPropertyName(reportNode), + functionName: propName, additionalMessage, details: deprecationInfo.messageDetails, }, reportNode); + + if (propName === "attachInit" && this.sourceFile.fileName.includes(".qunit.js")) { + this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, { + message: "Prefer test starter", + }, reportNode); + } } getSymbolModuleDeclaration(symbol: ts.Symbol) { From 7cfc69f66d0fe717f3481748c2a8778b05335199 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 17 Dec 2024 15:36:40 +0200 Subject: [PATCH 03/20] refactor: Update messages --- src/linter/html/transpiler.ts | 4 ++-- src/linter/messages.ts | 5 +++-- src/linter/ui5Types/SourceFileLinter.ts | 8 ++------ 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/linter/html/transpiler.ts b/src/linter/html/transpiler.ts index 6e1031f77..c95887ff4 100644 --- a/src/linter/html/transpiler.ts +++ b/src/linter/html/transpiler.ts @@ -62,7 +62,7 @@ function detectTestStarter(resourcePath: ResourcePath, tag: Tag, context: Linter }); if (!hasCreateSuite) { - context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, {message: "Prefer test starter"}); + context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, undefined as never); } } else if (resourcePath.includes("qunit.html")) { // resources/sap/ui/test/starter/runTest.js @@ -71,7 +71,7 @@ function detectTestStarter(resourcePath: ResourcePath, tag: Tag, context: Linter attr.value.value.includes("resources/sap/ui/test/starter/runTest.js"); }); if (!hasRunTest) { - context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, {message: "Prefer test starter"}); + context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, undefined as never); } } } diff --git a/src/linter/messages.ts b/src/linter/messages.ts index ec424de68..048c9c5b6 100644 --- a/src/linter/messages.ts +++ b/src/linter/messages.ts @@ -556,8 +556,9 @@ export const MESSAGE_INFO = { severity: LintMessageSeverity.Warning, ruleId: RULES["prefer-test-starter"], - message: ({message}: {message?: string}) => message, - details: () => undefined, + message: () => "To save boilerplate code and ensure compliance with UI5 2.x best practices," + + " please migrate to the Test Starter concept", + details: () => "{@link topic:032be2cb2e1d4115af20862673bedcdb Test Starter}", }, [MESSAGE.REPLACED_BOOTSTRAP_PARAM]: { diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index 724df9f38..44a8696c1 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -792,9 +792,7 @@ export default class SourceFileLinter { this.#analyzeThemingSetTheme(node); } else if (this.sourceFile.fileName.includes(".qunit.js") && symbolName === "ready" && moduleName === "sap/ui/core/Core") { - this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, { - message: "Prefer test starter", - }, node); + this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); } } @@ -840,9 +838,7 @@ export default class SourceFileLinter { }, reportNode); if (propName === "attachInit" && this.sourceFile.fileName.includes(".qunit.js")) { - this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, { - message: "Prefer test starter", - }, reportNode); + this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, reportNode); } } From 680dd5b6482d671ec8abec0c3812a5b608a01249 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 17 Dec 2024 15:54:17 +0200 Subject: [PATCH 04/20] refactor: TestStarter detection for html files --- src/linter/html/transpiler.ts | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/src/linter/html/transpiler.ts b/src/linter/html/transpiler.ts index c95887ff4..3a22fa527 100644 --- a/src/linter/html/transpiler.ts +++ b/src/linter/html/transpiler.ts @@ -21,6 +21,8 @@ export default async function transpileHtml( lintBootstrapAttributes(bootstrapTag, report); } + detectTestStarter(resourcePath, scriptTags, context); + scriptTags.forEach((tag) => { // Tags with src attribute do not parse and run inline code const hasSrc = tag.attributes.some((attr) => { @@ -29,8 +31,6 @@ export default async function transpileHtml( if (!hasSrc && tag.textNodes?.length > 0) { report.addMessage(MESSAGE.CSP_UNSAFE_INLINE_SCRIPT, tag); } - - detectTestStarter(resourcePath, tag, context); }); stylesheetLinkTags.forEach((tag) => { @@ -54,25 +54,20 @@ export default async function transpileHtml( } } -function detectTestStarter(resourcePath: ResourcePath, tag: Tag, context: LinterContext) { - if (resourcePath.includes("testsuite.qunit.html")) { - const hasCreateSuite = tag.attributes.some((attr) => { +function detectTestStarter(resourcePath: ResourcePath, scriptTags: Tag[], context: LinterContext) { + const shouldBeMigrated = scriptTags.some((tag) => { + return (resourcePath.includes("testsuite.qunit.html") && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && attr.value.value.includes("resources/sap/ui/test/starter/createSuite.js"); - }); - - if (!hasCreateSuite) { - context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, undefined as never); - } - } else if (resourcePath.includes("qunit.html")) { - // resources/sap/ui/test/starter/runTest.js - const hasRunTest = tag.attributes.some((attr) => { + })) || + (resourcePath.includes("qunit.html") && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && attr.value.value.includes("resources/sap/ui/test/starter/runTest.js"); - }); - if (!hasRunTest) { - context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, undefined as never); - } + })); + }); + + if (shouldBeMigrated) { + context.addLintingMessage(resourcePath, MESSAGE.PREFER_TEST_STARTER, undefined as never); } } From bd9cfd307cec0c2be48e1bb2abf53375a06b9480 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 17 Dec 2024 15:55:29 +0200 Subject: [PATCH 05/20] test: Update snapshots --- test/lib/linter/snapshots/linter.ts.md | 105 +++++++++- test/lib/snapshots/index.ts.md | 275 ++++++++++++++++++++++--- 2 files changed, 339 insertions(+), 41 deletions(-) diff --git a/test/lib/linter/snapshots/linter.ts.md b/test/lib/linter/snapshots/linter.ts.md index 7fe4b783e..26cf0b4a8 100644 --- a/test/lib/linter/snapshots/linter.ts.md +++ b/test/lib/linter/snapshots/linter.ts.md @@ -800,8 +800,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -817,6 +825,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -834,7 +850,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [ @@ -901,6 +917,14 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -910,7 +934,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [ @@ -969,8 +993,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -986,6 +1018,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1003,7 +1043,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -1371,8 +1411,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -1387,6 +1434,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -1402,7 +1456,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -1410,6 +1464,13 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -1418,7 +1479,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -1447,8 +1508,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -1463,6 +1531,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1478,7 +1553,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -2915,6 +2990,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -2932,7 +3015,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], diff --git a/test/lib/snapshots/index.ts.md b/test/lib/snapshots/index.ts.md index ce0fa4312..8652eabd1 100644 --- a/test/lib/snapshots/index.ts.md +++ b/test/lib/snapshots/index.ts.md @@ -265,8 +265,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -281,6 +288,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -296,7 +310,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -304,6 +318,13 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -312,7 +333,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -341,8 +362,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -357,6 +385,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -372,7 +407,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -676,8 +711,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -692,6 +734,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -707,7 +756,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -715,6 +764,13 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -723,7 +779,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -752,8 +808,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -768,6 +831,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -783,7 +853,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -1161,8 +1231,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -1178,6 +1256,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -1196,7 +1282,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [ @@ -1263,6 +1349,14 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -1272,7 +1366,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [ @@ -1331,8 +1425,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -1348,6 +1450,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1366,7 +1476,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -1699,8 +1809,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -1715,6 +1832,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -1730,7 +1854,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -1738,6 +1862,13 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -1746,7 +1877,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -1775,8 +1906,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -1791,6 +1929,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1806,7 +1951,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -2110,8 +2255,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -2126,6 +2278,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -2141,7 +2300,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -2149,6 +2308,13 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -2157,7 +2323,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -2186,8 +2352,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -2202,6 +2375,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -2217,7 +2397,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -2521,8 +2701,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 1, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 3, + warningCount: 4, }, { coverageInfo: [], @@ -2537,6 +2724,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -2552,7 +2746,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], @@ -2560,6 +2754,13 @@ Generated by [AVA](https://avajs.dev). fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.html', messages: [ + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 3, line: 12, @@ -2568,7 +2769,7 @@ Generated by [AVA](https://avajs.dev). severity: 1, }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -2597,8 +2798,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: undefined, + line: undefined, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 2, + warningCount: 3, }, { coverageInfo: [], @@ -2613,6 +2821,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -2628,7 +2843,7 @@ Generated by [AVA](https://avajs.dev). severity: 2, }, ], - warningCount: 0, + warningCount: 1, }, { coverageInfo: [], From 0e2bb7f237b5388e82d11868f37b575c05086f2c Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Thu, 19 Dec 2024 12:33:53 +0200 Subject: [PATCH 06/20] feat: Detect sap.ui.define --- src/linter/LinterContext.ts | 1 + src/linter/ui5Types/SourceFileLinter.ts | 13 +++++++++++++ .../ui5Types/amdTranspiler/tsTransformer.ts | 16 +++++++++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/linter/LinterContext.ts b/src/linter/LinterContext.ts index 6baf1df9e..9378f5a49 100644 --- a/src/linter/LinterContext.ts +++ b/src/linter/LinterContext.ts @@ -95,6 +95,7 @@ export interface PositionRange { export interface LintMetadata { // The metadata holds information to be shared across linters directives: Set; + transformedImports: Map>; } export default class LinterContext { diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index 44a8696c1..ded9e7c46 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -88,6 +88,12 @@ export default class SourceFileLinter { findDirectives(this.sourceFile, metadata); } this.visitNode(this.sourceFile); + + if (this.sourceFile.fileName.includes(".qunit.js") && + !metadata?.transformedImports?.get("sap.ui.define")?.size) { + this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, this.sourceFile); + } + this.#reporter.deduplicateMessages(); } catch (err) { const message = err instanceof Error ? err.message : String(err); @@ -642,6 +648,13 @@ export default class SourceFileLinter { } analyzeNewExpression(node: ts.NewExpression) { + if (this.sourceFile.fileName.includes(".qunit.js") && + ((ts.isPropertyAccessExpression(node.expression) && node.expression.name.getText() === "jsUnitTestSuite") || + (ts.isIdentifier(node.expression) && node.expression.getText() === "jsUnitTestSuite") + )) { + this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); + } + const nodeType = this.checker.getTypeAtLocation(node); // checker.getContextualType(node); if (!nodeType.symbol || !this.isSymbolOfUi5OrThirdPartyType(nodeType.symbol)) { return; diff --git a/src/linter/ui5Types/amdTranspiler/tsTransformer.ts b/src/linter/ui5Types/amdTranspiler/tsTransformer.ts index 6473d1bc6..509a551e6 100644 --- a/src/linter/ui5Types/amdTranspiler/tsTransformer.ts +++ b/src/linter/ui5Types/amdTranspiler/tsTransformer.ts @@ -9,7 +9,7 @@ import replaceNodeInParent, {NodeReplacement} from "./replaceNodeInParent.js"; import {toPosStr, UnsupportedModuleError} from "./util.js"; import rewriteExtendCall, {UnsupportedExtendCall} from "./rewriteExtendCall.js"; import insertNodesInParent from "./insertNodesInParent.js"; -import LinterContext from "../../LinterContext.js"; +import LinterContext, {LintMetadata} from "../../LinterContext.js"; import {findDirectives} from "../directives.js"; const log = getLogger("linter:ui5Types:amdTranspiler:TsTransformer"); @@ -113,6 +113,8 @@ function transform( const moduleDeclaration = parseModuleDeclaration(node.arguments, checker); const moduleDefinition = moduleDeclarationToDefinition(moduleDeclaration, sourceFile, nodeFactory); moduleDefinitions.push(moduleDefinition); + moduleDefinition.imports.forEach((importStatement) => + addModuleMetadata(metadata, "sap.ui.define", importStatement)); pruneNode(node); // Mark the define call for removal } catch (err) { if (err instanceof UnsupportedModuleError) { @@ -127,6 +129,8 @@ function transform( if (requireExpression.async) { const res = transformAsyncRequireCall(node, requireExpression, nodeFactory); requireImports.push(...res.imports); + res.imports.forEach((importStatement) => + addModuleMetadata(metadata, "sap.ui.require", importStatement)); if (res.callback) { replaceNode(node, res.callback); if (res.errback) { @@ -149,6 +153,7 @@ function transform( } else { const res = transformSyncRequireCall(node, requireExpression, nodeFactory); requireImports.push(res.import); + addModuleMetadata(metadata, "sap.ui.require", res.import); replaceNode(node, res.requireStatement); } } catch (err) { @@ -273,6 +278,15 @@ function transform( } }); + function addModuleMetadata(metadata: LintMetadata, importType: string, importStatement: ts.ImportDeclaration) { + if (!metadata.transformedImports) { + metadata.transformedImports = new Map>(); + } + const curResource = metadata.transformedImports.get(importType) ?? new Set(); + curResource.add(importStatement.moduleSpecifier.getText()); + metadata.transformedImports.set(importType, curResource); + } + function getCommentsFromNode(node: ts.Node, sourceFile?: ts.SourceFile): NodeComments { const sourceText = sourceFile?.getFullText() ?? fullSourceText; const leadingComments = ts.getLeadingCommentRanges(sourceText, node.getFullStart()) ?? []; From 0a05175ee364fc8247438d784a88a5475d58560a Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Thu, 19 Dec 2024 15:24:23 +0200 Subject: [PATCH 07/20] fix: Update snapshots --- .../ui5Types/amdTranspiler/tsTransformer.ts | 4 +- .../rules/snapshots/NoDeprecatedApi.ts.md | 33 ++- test/lib/linter/snapshots/linter.ts.md | 92 ++++++- test/lib/snapshots/index.ts.md | 246 +++++++++++++++++- 4 files changed, 349 insertions(+), 26 deletions(-) diff --git a/src/linter/ui5Types/amdTranspiler/tsTransformer.ts b/src/linter/ui5Types/amdTranspiler/tsTransformer.ts index 509a551e6..5ee248b83 100644 --- a/src/linter/ui5Types/amdTranspiler/tsTransformer.ts +++ b/src/linter/ui5Types/amdTranspiler/tsTransformer.ts @@ -283,7 +283,9 @@ function transform( metadata.transformedImports = new Map>(); } const curResource = metadata.transformedImports.get(importType) ?? new Set(); - curResource.add(importStatement.moduleSpecifier.getText()); + if (ts.isStringLiteral(importStatement.moduleSpecifier)) { + curResource.add(importStatement.moduleSpecifier.text); + } metadata.transformedImports.set(importType, curResource); } diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md index 3382b06a5..59d2c53e5 100644 --- a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md +++ b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md @@ -567,8 +567,17 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'Configuration.beforeBootstrap.qunit.js', - messages: [], - warningCount: 0, + messages: [ + { + column: 1, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 1, }, ] @@ -2947,8 +2956,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-theme', severity: 2, }, + { + column: 9, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 1, }, ] @@ -3027,8 +3044,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-theme', severity: 2, }, + { + column: 9, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 1, }, ] diff --git a/test/lib/linter/snapshots/linter.ts.md b/test/lib/linter/snapshots/linter.ts.md index 26cf0b4a8..ee83c225f 100644 --- a/test/lib/linter/snapshots/linter.ts.md +++ b/test/lib/linter/snapshots/linter.ts.md @@ -849,8 +849,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [ @@ -954,8 +962,25 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.js', - messages: [], - warningCount: 0, + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, }, { coverageInfo: [], @@ -1042,8 +1067,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -1455,8 +1488,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -1481,6 +1521,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -1552,8 +1615,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -3014,8 +3084,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], diff --git a/test/lib/snapshots/index.ts.md b/test/lib/snapshots/index.ts.md index 8652eabd1..49fa0e56f 100644 --- a/test/lib/snapshots/index.ts.md +++ b/test/lib/snapshots/index.ts.md @@ -309,8 +309,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -335,6 +342,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -406,8 +436,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -755,8 +792,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -781,6 +825,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -852,8 +919,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -1281,8 +1355,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [ @@ -1386,8 +1468,25 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.js', - messages: [], - warningCount: 0, + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, }, { coverageInfo: [], @@ -1475,8 +1574,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -1853,8 +1960,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -1879,6 +1993,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -1950,8 +2087,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -2299,8 +2443,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -2325,6 +2476,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -2396,8 +2570,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -2745,8 +2926,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], @@ -2771,6 +2959,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -2842,8 +3053,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 1, + warningCount: 2, }, { coverageInfo: [], From 4d5080939a9341700cb6c501294374d7ef29e418 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Thu, 19 Dec 2024 15:43:57 +0200 Subject: [PATCH 08/20] fix: Merge conflicts --- .../rules/snapshots/NoDeprecatedApi.ts.snap | Bin 17870 -> 18295 bytes test/lib/snapshots/index.ts.snap | Bin 13928 -> 15939 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap index f6e1bff052c5f19ab2fa2c6eaf132074d3a6e960..4e5470a91cb68777fcc8b03584ebc95b52bd29d7 100644 GIT binary patch literal 18295 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 diff --git a/test/lib/snapshots/index.ts.snap b/test/lib/snapshots/index.ts.snap index 4d36498fae8f19fffbdf7101200d731f05e3c97a..8878e2324df6fd7a41816afba528999ef0e725ee 100644 GIT binary patch literal 15939 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 NZi6&lhc+6@{{ir>|Kb1u literal 13928 zcmajGWmH>j*EL!oI0T2{?k>eC#ogWAEydj-Enb}B#T|kd3s73zT|;pQ5K57@P!9J! zp7%WGJ>QQnV_f@MdyaXnxiYge_TE`LGKMmAdY(2QA7?LLI)6bdloz0hg`Ei8ME5#w zZte?4q{7?HB^pB-x|5ctrR`g8J5Jg}j2HjDP|gc61I-P#o}^vU^WbOd>B1Wt^X?u3 zYxxak%fhqCJZ;+eEP^6qZ5eqdljR=x+A;)b(QFJ1JntZE(Ol!VKfYTL=&TW&0Q4=b zbPQ|yA-&MVhzoa>X%DA$rt|WfACd>%c_9M>-8(+heRq>$ccI}cK-~4h?7|}Ke&!Gl z%bwoOfXQXsPO)CymG~&2OUy?1hGQ0U;sU=tW%eY^7(A^YM#4VPh{F3bbE40pkfR%a z(AIQ|Ob`5R$~a5wgu}JyB+tydg|lCa?S^%0Zm%nzVvK*XJ&iDZDKA9BLH4)C1JN|& zbzyY@yHLB(1Mvf?0)c^;qbYL^U%v!&ZyjFc=E4kvgT?t(zLXPYP!YB6JTZ^)^C#NT zv3%_mD|es1_OPsT|N2|lN?Uj@G{5_rj%B;ETW4+Ym+&2Xe(=uW@VH~Nm!L4IEn!&x zMAj73&S4iM55Cc>x2CR>bh?ui*J(>H0W|$?9YPh#2)uZYojccXN8&iyJL{;Z7_aqP zmg<2W_zpZDXiSZl^JVzvDq6oO{VxLzO)6OAJG})ux45Vpy3sMfB|$Yf2Y9hEcrAYa z2E8J9wGzG4GVQRs+~{mJV9&E;wQ-YY zvktqAfiwlob8sRwW9Zqk3J6$24ER*NZg0r^l!X0j-w>(3j_!={9kHNc;JSJQzx6~h`Q z(Z1*UF142es)_G|n5c2aUy&7)XV|{I$lf}%34-$PGqDuHbAtxMR3IDYzIUSEs4RDs z-i|X%9K8EU-@4*{Nd%M=<**rb%n`}$V;saAza5Qn%&D9H?i;wJ*<<0q;@53n`CeK> zLb6{lENDKDC25={HOTlDV@~fjcMF(r7kG*pJL%{+Db>2=n7UaeV3yBs*UGB3Q6KI< z$)lfd;npDr)Na4X>*@3R?5RMxAmoOV+b&lBW7{-w$%f)8Wj(Cww(g``uPB^8gjRmd z^3XnnX!(bLlcxur&*yWYaQ|L%Z5;P0dS{gY@t=8+rm=HBY?kk&+{#` z(C9Ys%pKSy2^S9W&{Qg1aM7`j{HWCk(vwn1y|M&876+ju zOnrQ-u;Qd}hn2-5Vfgomyfw(7#d}44rh5LRoMwQ=%8C1{lOJP-BoX~j)Xn^t`IS3C z84ueM9s{k5xf2Y(afSA(oVJtfTFcD42mO0DST1YMvZN&XG;^9ZNP@4 z=z};+LngE{VW=yLyAbpQ?Il4p2^iCm2e1%?!{-@!jSH$l>bH&b!baj80@RbtTo|G} z%)Y>T3ClqXRK;+_BC0pRAiev9^w&1>5iQUPW08yUjwFXIi7+}m(q>@5_ zm85MGi$*`2z!w!f@#ot)_ zCz9}flyg@Z3~M?>W6a)VC4TS> zS59l8V=`{1^PN88K@|HOPlR{TRfmPiD4S)|&KG^8{Vfm?J8>No4ZfC(jz9&d4B}-I z-=|>JC}Ky~dXdHI&peO6We}_wC0ye8l;8HH_U3DA)PEo4R<5z1uOr;lXG>ay!+$$GJeHW1Trlh~hdtWj1Vq$|=)(Aph9 zGUN}{>S+$u_F6fE*bWFw@_nw@E$rRjanW3Q%puP7k`R1L3yja+qGeP(oMiSU9BT~+ zh+*$Q2-P+h*np(DN;b`*&fcmqvdI7%MuJdBT{IXX&x)QbNe}x(_*xHh#b5{}E6oVC zt`3l=!%SI&tVCk2iz;F`IPMBEz=r(dSUalQ9e3?&r6{V7*CQJoNd&ARXTf_CVd#ml z76rs9gQyq(X1{UTL7n}83C;{pd?%TlA?~Iz%FHqb!F1;;JUHXXY?bqOPxxNnIK=@k=wn+q#La*Jq}z2Y(3eDxv8&!1KW6 zo2MHc*N0$J!sgMsx{+u+BkL89y@>6zIM%coS1EVDD|Yo0Y`escv&a}$q&K)mw`(-F zV!qx0=nA?!liDwFXf5 z=NL2SfUwI4Q?do1Xu4Z#C}UWazO{w*w1&moHq=A=xUqpI(t!yH&Vug>2iD_Sdd0;0 z-#bc3&hd;==tCaQ5&jY{#Y_58F3uy3BmgF5s@aQ}gP=08fT zy&ITfYNc=4&AW&%EICF^4IoZAL$ujL=xX#{sT+%Fn3JYM?dRBiW_3B z8e)wMWkbmdwo(6l2AFiJ-ahhlm0^c(p?dksScxS0VMD^R;A&flCC{!Z%A(Ww5vk@r zrL+d!vDe!u#ivnTKcQh#X`9$nebMgisvX^An&)wSeINzihjudWKY%rgtonAm?3=;c z*Q*QYcsGL^pWI_qvlsACA7|(ASnr0X9ucwwbP_7B)|h}xr(BwUR;w8iF~OzHBGaBe zqv+&@v*_Vi=uehwoIRV65qMTZ`kL(rDVi}crm>V3ow0)t-|9787G0=YCv+>m!D}fS z&V@N=MLxxx5o`%byb_v=%(`zegQfWKGzEuZqn6cZU=dSJWh zcVlYZb~%((%wg0H@+4-y?99 zAw8;|fJ>S9hq!BgqbEtT(&>?)%dveRXF^^zjvf z2=3`SMbWj+{!zo-YZQ#`i3g!5hKF$b4N_KAd48)m+9`cWO!>n;rjGF?)y}5}W>cIF z_nLXZi{_-RLg0o;e*pE0cmrfW>(V!{_kurh<>WRsI%VxtvCweM@<{)q|JKFf=bJvq zCKG~H&I*p5eqhafXQzLFkAqNn4VbgqZx`EjJ5Ii)+%;fhvVHuP#fmXebug|+#yx3v z$aE=38-{KJyM+n5|5$sa!SP<~RzjyY(fJXAl9REj|HWIp)y#rP?=g?MLuZFsU#y02 z6Efl1F>2_NIwj$qwwJX=9MssJul%UrAmZ=bx4hRQ&D)Va#>|+#zKbjN8~h!O*ec`e z_uztyYIFA8%65id=7cVuP$$(|EJ;ITTKT=V?9;roDHFdNXJfCMx5S(~)Ow~o^Mm;K zHbT4prc+IuMii{&+LMyestacm4jPA-(DEH3a>4dvhuUrF-@bQr_wGvVn@BdA4%9F6 z)=8DPcX+9MpmIrlkPF$T-RZmlt;m<(5v(t-OVU(G0<~W%UGIjmt%P?eWnS#;6OfD@ zU0uCP*!R|y{`4hIA1t`CBE)y<{kdMR94aS{&W4?!P+}2CU`>uKI;+!jAuoL}8%xf3Eyr;Nc-*P;#x0`Jm(fB>pBp z;`)!4kGin=zsXX}$NnomZO%^qUx};pg=%pM1E)jOs{a%t#_<3744eK1pDx9cxn`@y z*BPG>w7A(*IA9q#S+DN;PNZYmfY@TGYsT+}S2#kZgnN`~ z)1vFJ>z3fuT0=~?DQ|f}JRo|60_+T`0WE~0KzXC8BFUmwB0I0RU(z$9dE1o;p}E?X zaH9p=T3e_Ccv1&DFZMHYVOW`*EM1bRTA-lxLk%v9k7TAoKgTe6X2OWfi#l1mByn5l zc~ZloCwzthIY(O0;EuiOZk3P|2dyzzX==R3K+amPxp zYoc+-Y_Dre2f+<=!++V-ifkktJX5yoB!@5#kKS3?; zHgvd$=OV1|0*-fAg73jJKL}xq07ODpAt3AL1SX;#(8Y^nsT>*fel{C}QeiX2)gn1O zfT5re!w6kl;;BM8y~Oa#d3AQfv6gCdg9=|Zz)CavPX>%uC5=JAN54+?r{CCYI!=E2 zU_Oo!>#$eGuGc61_F&oKJmhZn*>q&qD(D(JNC``l^RPZ4Hf8XIZx<7FBiUOC z&c)3t-#|&~ZDnv9j`MV6s{kwkM`pe1@U;W-s zF`xzMH%_!~zN)KW)|sP@l-Od z1}bJg)+RvrnJ6D`*k`JHA7Ch(D%fB?-Mo4d)#23vhzC9qS9~-Saey^nh)&Npa-cv) z^?^F@>y4*v75kYH5+jSIeBwicC<8BycVskt@4Xba>w|Zzg3=#i}N)bIa$ti|C;kyJwW$? z>-OH;$RTysT|2>-DI7Y%@vr~v|4h=9DGp;D*GwD|!__~w6Kt9_DsyjDMU^BvZq~y& z!*X=*YNHz$IUIho&Rtxz#je~_xNsZN_QAinFz8@g%%Zh*@#8g%&vxdr1nTwemr2}y zn)Brl=gI!qA##ZZ?t;dJvSB!7ZpTRTWWU_kpC?1`1@IbK%6bm5qg8@(nGe~}wybCq z{w>LnL7W~do$fGTf;7g$2t$Nqh&m2Y9EZTB&!tyyMr8=R?2JR0(?4|MZ*#@oVbS+H zyFx=h{L0n=hz-e9*!26^i}*PW=#N(3LsqqHsj`91`yexm;z{5 ziS=%T;XasPlc~VjFPGOHx3$Tl9xRav+hz!C#-QPiK8oc%#UOI87~Ko0!La0v?o5dM zUK92CiboRPA#$245JbG9(C8X3KPAE_%L4>ycXb{ z8)h~Pmr&qZ*tLDh9WONkDgt>|#bf%$zjWSF`p!!_yppi1NI#orgFI$)iyOBl!mvC{ zJpxKajCAlJ!ELD@+g^t2;AmmVD30W5Jy9LfCd3F9V=?pcU3V*DO@$WmVuFT4DoS9N zMA5bBX|NWsGigKDZ1>w(3O(?FK97yiT<}MRWCF<|V?21}UOTvU~i*R0QEyKH7kv^U-76kckW*|yj@0vvfeXhpmXqYon8kpMN(J3M6JDoegl@c&KF?D|Y}aUSa=o&KPgSbXRwZ9-Bi#?Z*c8Bjul+LO4iiz#3Z>PI#M6xIC1P}NN_g6PkC=at zKY%vA3{7|yU2eiWW{fT7W;15G+DmHghN_aN3bCdB*?N!4P;)= zD7;Q+bjF~c0F!%MM+1S6na2he?FN>US6p4k(1h7;$Of!)1K`qB3w-Lv-QGaM){N@V zv%Y5kfS+)6S%gJfgr%@ybK<|+Aw~F_zyH|RI8gj&5iq7|xVuV8^)t!Sm>?`#5cXRT zHYf-i5d@53p4z^QO~oBrivcasNs3`mav@9-=`5OlcRWX7*pjYME3ea!8=~#YRDYC{ zggeDOwaYf*Xh7)J%3bxZAx2eeZ2bYjoTWc?JD*mM9_!4UxxzR9u$D6Z7ei=WaP{h%!9aBt{q^xosh zg~H|;cIANT@|}PoYR&t0qHWNSE}7&W@*|JTskRDdfXq3M=vy+J%jiD=gIk_~Yuw6( zwJYgDuQR?nB^Zu5hq5Hklwaiuy_1zD$Z<+I*=E-x*asAieIw=NS%)@s6t!8W767`T_TRmVv zU@v6N_2WUMFI!xgdGjZrxyyBUlCc{u?oDNI#0d30oMn3Z@IyfiO_jy%c>0=6mf|-_ z%Y#Z7m4PRgVMd!uc39MBVH{=8AZ7mvU?P`6a$p~imXbvw#8JxyM0(_G5mQsz(%)D= z4Tmf#{4f))@lBbOg`J4Jv&(*8@hWZ2jm{_X(Jw9k=ZQ@WmF^g=dANOoDg2U&?T1ZO zh^`l%y1_fCZ^OoI(wBPfZ|}2@LkgdZ=twQDXfw=LqR8rF)U31D8AXkOjMPiEXF9^E z1Ad)OJ7!T^Zlr1Wt5sMYk>;rR-{neq*Vy|gSM*HX@~;VyCXt(-AA^KO3$! zmnstmyBEe0Vs!qL(!~rsn(74*&qRsz)~Sm83Q5t-fg`9dLx!y&>y!RRAeSk?eW`1f zM<=}cLq`hR(~cyAL~TVXt4cc4(vr$JHXy}@7G-{=3 z{2B2S2{EHS(AIJ&T%f#g4~9e5_zyo~*luv;Zy6rZd|SWb$x##gQNXxyJWSvyZ~A`q z*eWl1;_r*(xrkp%r45P=<%~G;GdJ(t$wAV&OSis}ArAYBeo#vHMJ)A65DV!lck3zy_*4DeVi)j%>b>dP10}Xb zY{!bON=aIB-5s5Hd+2ms#43+kqaD*zgs?}=Au`YDtGa2!e|L_-3)6Z6$HRco2QtS6-_HwSP8#FRZ`cD%W|W(^u+UzKe$;!In`r^1&2Rgq&HGREe09GVi*@KU zKYIG~hW|HmN=<@6pcG)h70*fQ|*u4 z7z7vgZzt)I$Z2*ia$aVi zk0%Njp;%En_*qs>IM%qiQ$mc*OwrErbJ~PDJ3D|pE|8DhF%a{e`T5oLS9&I<@*MS1@LT+b>fg_~KYwc;KnN z(%!Pawm@n4j!*d7;Qh2a<$fz0gC+FW^WZTIx-ZWMt7ZOxla#%W@#Ce5yFe=X*DoC$ zQi4x2A5>jtkKTCyKGN+m=h<<|sqNpxNTrQ+Lm>#Rz3wMU7RHCZ^q>h~A89a;D64F4 z7-Y=f%KmV}v$o3{tOefpOC9?ryI>MwTV1&NaL$B43FK){AHrzZA2?Ly#LV21F&)dj zES=?d>HTaf4ssup9{;SAEeTl(_^O(bhW1Tz?^XJ@8aQYaVsO>trtY8m2lzH`3o@Jo ze)DSr?oBQ9GdQPv#Qqi+HNQZjF4SY`&g?Z`QuA(XV#&w3_Ktc zDK?ky+T7O!YW_B_AJ|w1qW6n0i{agT7k%)j?tco&)QzRyXZ<=Rr3p6bZgNlOwo|>- zUWc`9aH0RgB!ia&$8Zmsmt}lHeEK#w*Ix^*y1G!bwRH&Lwu=CTJ4_gSb)B+{xq^AW zgn0>nHJLK36S%Cw5&7dq5+1r=o?0i_uex?-P~tRiTl2GoYiRyhgXoMgbIC)8qYmTE z);s1(hk*si4)xezUw7K$1>H>a98K}KuyZRXUNjU0DKDYk`pfTEEY+PE6G zKE5fRjnzVOH8pD1VQ#;NLsoDoW^aD~Ekv#d7d18IYvJnza#}pyj%}6B0>uhYC%}{8 z?#}tEj+CUy4`eQ+vq)39qsr z$4So>!bXz#*t#27FW#ktE=}O$RjX&xUmmmKn^p}T2^Lksd+vXu+g@mpeA9m_rwOkD z2OtNDlXwB$J4HZMuvE_xBb3SGcNXd)A{4E>gGe%~#!RKs-_<~vG8wA&#cC_wO6 zgg{-T*>tk6W?HFR5YwM|&_M-cMktv9a2RV=S1+mgBzZbD##ew-tP)R|zB^|hAv=Y} zALUr5`dJKBQzNR69g#&GNQbH%hiZ$gK@zDwAW0IeXTwMGx)5teBkr*#jfrIzuB)Qq zGFyN~xd6>aGpZV-orhWI)Y|?zxn3w`qBbm#5u<*c55%h)F8;Ea?`AN6kE1*td5R;- zkK*qDy%T^r*F-ZQHpRUtVJIlaNqR9%REqJ< ztLlvV6s7VQggk=AmH14hUonyuja_366jz;N7n1pG0jc<+oa)y6yG9S)iuY{+y)J%L2z9 z_|YxLqeSB9^1tXPKSl0^i0SDOzS>7qVpj5&%S(Ic=_gpf`T2$Csl?9J5@h6M>CAP# z7gX9Zxp6IPm)Eo(_f??c*Yj?}^`l*0X{Kh*G@jza+Jp8NyhAX9FgL!p$GI^+v3U<2 zQ=q?$a#|7Z{`%<*9@g|29_Ga)9;W34USVtc)vGkOi6@6DVnBN_FNRBmCH{Q4G2MQP zD?1JrJdQpp9RgAfuRg+x$=Wq?AVoE(OO&nEBF5~l3MUpnO@3cSN{ZdmNv73s%p04Y z$4)+r++CIShILRD(@+&u3V5Q&+_Su@{Q~4wMzAukm|zlTLf4o|fOk8WTcu_jkcYL0?>+Rc(cR|gIaTg=f!Nf5m;nWB1H z#lA#OApK?+K8-nsYH(}&K{S^cGbJ~=mYBIEaEBM&0+p)<-ySUszKS}9A^dBMd1637WWQt}qekLhi|j=5(2KQA;BX2s>0Z({#w}cG zZl~~Uh?h20dak0$^_>;KA<=q-q05y(vR656%4p2e5)feqU{5S{<$nm|hm&2G)}-5= z2)NQ!p?!3-mcx}aLQ%1`6*REr+WKT#-4y57-dsj{m{+2s?p~>yP_f}0?ZL9@5zU)h zQVZ-@Qc!(Yv0;XOv^@CA4-`P{UJcet_%%yfYrj(uK0DhT3=V9e@fU(F*}iV`&Vp~F z-M>Y7C`H!|D&|IyKS3&+Yi z9{kL!)i?h7wUKDp(M>dc8O zB{?yd)Ao5J2fyD(4x(&NKi2v)KnSb(D(1ZIDqW?Pp2P5bclOXl1!zR~ zeo*(=7)>HuVe*~dmB9UjK$ipggEx654>)-O)dZ}1XbB9-8P1y6y*)^4Mqd9C>rpFj z`uVw2Y{vui|Y8e_RRZB|sff|wsV+01IvNBm`M$@KkYw8$iP zP{(ZhMGQ1Kw!V8hAIINpHMdf3pT>LhADI=alByFqokh+3gkFZw8BG3JZkldf#MbBo z>GCGs4$TDba_dy83Rei;%7oLl-3?~HIqf=n?i|18So;%(zkoOLIJ<^ddnQTK7v zhwR)A`#d5%rC%BjA~^0LxgMS|s{Sh+T@fUb16bQ8sE>6vcdjxWCd@tFugqI1E-Y}h zn&LkqiE60pcOLNhP`oFi1z(SA8UP#zw&2Yd9YNFL-e3MAwn^i!Sb$sawheDJa|OWL z;~CU;W$6=)sV0R(bt+qq6Vo=GK9e@*SyCOlayAn8dy8n>UHPa33_&2sPB}*S2Hvj1 z#?(0HyARta;uOuPATJ4p;QSE(ZGUkJp5eZ4lqd6&m9={2?}IlfNCvJ!gu>K%iX%BL zct?I;vOZYKT>je$hDZL}33i?Z3k=;CMo1deJ3B(=zGEm3Hyvnu4rNGrk~^QY{(*j) zLzs|$bpqfY@*lL)C23vBidRxLX7}h#Yz6JBDo$+G99%4V2e@`i9I1{ucT2Qy7Cu>a zOAPlUx?W6|&Gkv~{BTh0DM?wAOjjy{9li-4aemT#xMQfG6Zk(n=DP! zZGVUyA-TR_ss#QMCS7=no)y8;!|ohn_Yj3;+DdPHj;C)-W1@p>vFErcdj*+#!F@N*Rmr zO$6Wj)l7d1K8)2UDQFP%HH-r$4kLxpz+_-=VPdcf<+e)w9frI|deepPn5GM}fQFOx z=NX%*t#b2u{`x%npU3d?{_6Am<9XaabEaQ3u+u9(Idb)qV6VNMB}CuYgHgT(Y1zv! zV82CFiPF)i?%DWBniJx!B)((mQ~jM77$`}z{SNF)-F6J)qBf^z_^7Kt-{T7!02Zwb zqKmUF4GT+kDadEIen_yS7qch>huk1~w~fq&n4zWwbLFNepLVidgb>2iFhNGh53i9R zgr$n|LN(dO$0X?s+42acp&Y{9e)(BenfLFUb-5L0@0bVQt5~Z=&!F;YT(U;#Jd?M7 zu5>aF|F9S3CZAS`KTF@88AFt^c^Ijv>6LJx{?@Z*Lgmqj+Np%@$bZhDn9Iz<3aV*l zBI&3Y>aIa#=m*M_OWahKKdHvu3$dxi^b4)#p@~!t$}xO$dBYsWjJvHKv*=r`2If8i znTT%^Bh3+;=07U`-bA^f%2oa8{X2>5lanSThhJNbd^@?IaLA9gDH=bH45wO%@kz&-L!2fB&z-_b6GyI=a{pq zdhW^Se_GAkt2!;4#FY@@nEU8r`-MgCy}trwo8L?QPhkr`CGu2#FWVkzJUHeS1iikt z%qeP8Q)E>K9=>cj$yi7MW;y>ZZ$mt1`JV^lN;BRQexci$j=yvqE|g9C!Y2cOX{!&R ztRY(610^YoCgO7-HW9+T#kk^8`I)3Fpho5OF`-CgB2NA{$w;Pg)h>PO;v1vSEXzSyx=$c=30*#CeO?i`7ZgHS_}WCjSv zVJ>qK23kHRY*_b-yo-CoZG-Ih4nTuyoW%gm5yy*BCC;&nMP}50St^4;oT9nNiKZKA zu%&2h7uz6P($5#AiO-FT=4_OKCw|3OE#KnF2!AycB%4-a{|VpBv6x@f__jnR5~GiH zeJPjmO{}}vpvBH4CT@#V1`&m=+5|3c%gsT2{Oa`dbF}q=^G&QJEjR_C{I_t5P;rQLg@zmsWE^5idTStO@;_IVhmyID?_&xN)ck zzjPo@|3HEM-K>iOpE01AE7~mq7Q;}@o`OMOs)s|FIB0;ALp-cDVokgz$Kl!As1U7* zsrkWLJ=#hI(a)wQ7yCo4q#R(F3B4ukY6bk|Vo21l4ze(3XUdW_VE>stw4%DJLts)K zkI|=t^`wWD=b&wdMwU64DsTTGL9;33Gma%&%-uMh6FuA#VQH0fnLUg*u{-7+*h*z+0Ht}($U+^~jofdDbY}n+B+)j)bb2?+@ap84 zC<~FN+SN!%QytsOVayEyFP4{m-~j0lG8=&GNb2j+az<%%>Uln}D z;30i}b6*E8{(sNC@j$>o3?MsP@lIsJ8;SIFXrA>^PHq5`DAij}+)!f_)b?3JY^_CP zh7e_3f^>Cln`ld-0+(nbjpjG@cs1$x$Kt2f4%DIb!0FnU`rzYdkqVAAYpJBgVbmK$ zL$I@3B*6zM{mOKU)fYL!&?#I52*v)D?7+VT##0P#V~~jq-6SJ48TAw3^ak00ty&i2 z4S+;GtW|^V)iB!g+6KiPq2UY1u21CQvp7|4Pz8n%=MSp>df1y3FucBbWX_yOwdYb) zl!~p8jd-FYP^v$DFzl**#UOutVR%1d7+6ZO{dl~yE!?H^OoK=t(|E>wTZi2UD?5X| zI);hPqw8gGm0iJ|8-ue*H`E|6^j;2zL<$2)x#s9GK##Rx7IWt`cIO}K<&S9#5uU93 zTybA3K)bqKX7Z#p^Locc7FZF+ShQSmy$*a393HX{3LYG59uu%e2gIVl{U3p96Cmlo z$4B7+6^|)UgbQ5E13u@3`7l79P5r%%)#ZUI*^g{#hGfUNEAi}f7C`Q6I%Dn7^yIXHf=BW z_#%F3K{(qnI3--Po7VFJO!j;Xi`Re^C+FUYQScubH)$s4mJ#>}*-rE8v{3LXF&{CmP){#WuoSpI(&ImYBJ2*u^LjtPr9-hHHo_)OZ-=46r? zGu3%G|I-F&@-7pXjr{jBtl z7yl{pe|zx{_>UJcSkJuwdhw6q(LY}NXOZJ~ffs}9y&ysW>)Th&z*RKk7wCMzP>L>` zE^$J{*VM9KnizrC45g^_zlfmu8LW{aIa)8gXx?Kse4Tp^KBGYMV_!asUBe!NKq#*z0!Od5+)D2w`*AB5$|G-oA(!sDe$28GBhfe9@jvfjJ?w ziyh1B>IoinGVQ0k$wy`;g*B@=qz8{oYQr@tBy*EoA-iIfgdsyH)~95AIKm z7bT}5LS~{y>#*K#9YdhgzY&#`sdPR#u)jAG=*`DzVb?=(phi2gwlu|h8T(>)746se zJmL!I5HVlHn;!gXI`tC5w{JtdunN+U^W*3$Y@+qw`A;h&nP6zM-_}2FIXI~{JB5X* zRy#fZA-1V$r+?M8xc+qazD6&{uQ-Py$y>{nZTzo3y{f~y{?fPk=vv;2IQ`V}IQ_r< zVeY|*>Xe_e3}H_#J@Y67g1#b^!`vq&*7w9v3q3R(CwcS3$2FYQ9HgCz$YQ5AhAcmw z6wME%GBIz}yF`f^XJS_bN<}#dA-bIm*uNprbkyR}=qd=^YqPYPoS+=1;qUG*N72M6 z!%65ugR!Q)KoE9Ba@2+L1nzTSn&Nj>IN~rjlYnY;U4}p(2Km1HF*;_lFxp zyM(2`f8T$~!IPc==MZPhA{7|E$RU=ujXm|`iQK@3y+;o0d+`z5rkwBL`#yPcq>|}j zi|CM=E@|tS9XZ5Iqior^kC|k;s7o6r+Dhhft{P+?V%OnJPPF2$Dcs?$IK1Q;cjcb7 zHEvo*kpGSNL4sm<>HBHS7|%6h7d%ynZQ!dFIVDPl`<5NB&Y}ogk6_naiDCjc@J1<* z3wyN)TX7@^GRz+gpX{ErceT}=>3%0NI~=sL+hw9m>T-B+Uxd11Sy=FE1DS#Gk8!ve zY?1FZ Date: Mon, 6 Jan 2025 11:24:52 +0200 Subject: [PATCH 09/20] fix: Detect correctly sap.ui.define calls --- src/linter/ui5Types/SourceFileLinter.ts | 2 +- .../ui5Types/amdTranspiler/tsTransformer.ts | 13 ++++++++---- .../rules/snapshots/NoDeprecatedApi.ts.md | 20 ++---------------- .../rules/snapshots/NoDeprecatedApi.ts.snap | Bin 18295 -> 18026 bytes 4 files changed, 12 insertions(+), 23 deletions(-) diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index ded9e7c46..d908d1bc2 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -90,7 +90,7 @@ export default class SourceFileLinter { this.visitNode(this.sourceFile); if (this.sourceFile.fileName.includes(".qunit.js") && - !metadata?.transformedImports?.get("sap.ui.define")?.size) { + !metadata?.transformedImports?.get("sap.ui.define")) { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, this.sourceFile); } diff --git a/src/linter/ui5Types/amdTranspiler/tsTransformer.ts b/src/linter/ui5Types/amdTranspiler/tsTransformer.ts index 5ee248b83..a0726a192 100644 --- a/src/linter/ui5Types/amdTranspiler/tsTransformer.ts +++ b/src/linter/ui5Types/amdTranspiler/tsTransformer.ts @@ -113,8 +113,13 @@ function transform( const moduleDeclaration = parseModuleDeclaration(node.arguments, checker); const moduleDefinition = moduleDeclarationToDefinition(moduleDeclaration, sourceFile, nodeFactory); moduleDefinitions.push(moduleDefinition); - moduleDefinition.imports.forEach((importStatement) => - addModuleMetadata(metadata, "sap.ui.define", importStatement)); + if (moduleDefinition.imports.length) { + moduleDefinition.imports.forEach((importStatement) => + addModuleMetadata(metadata, "sap.ui.define", importStatement)); + } else { + // Empty sap.ui.define (no imports, no body) + addModuleMetadata(metadata, "sap.ui.define"); + } pruneNode(node); // Mark the define call for removal } catch (err) { if (err instanceof UnsupportedModuleError) { @@ -278,12 +283,12 @@ function transform( } }); - function addModuleMetadata(metadata: LintMetadata, importType: string, importStatement: ts.ImportDeclaration) { + function addModuleMetadata(metadata: LintMetadata, importType: string, importStatement?: ts.ImportDeclaration) { if (!metadata.transformedImports) { metadata.transformedImports = new Map>(); } const curResource = metadata.transformedImports.get(importType) ?? new Set(); - if (ts.isStringLiteral(importStatement.moduleSpecifier)) { + if (importStatement && ts.isStringLiteral(importStatement.moduleSpecifier)) { curResource.add(importStatement.moduleSpecifier.text); } metadata.transformedImports.set(importType, curResource); diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md index 59d2c53e5..f1a6fbcf0 100644 --- a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md +++ b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md @@ -2956,16 +2956,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-theme', severity: 2, }, - { - column: 9, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 1, + warningCount: 0, }, ] @@ -3044,16 +3036,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-theme', severity: 2, }, - { - column: 9, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 1, + warningCount: 0, }, ] diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap index 4e5470a91cb68777fcc8b03584ebc95b52bd29d7..b35f0c47edd84635a5ae281207a5e43bc7af8817 100644 GIT binary patch literal 18026 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 N|36ztGT`zb0st}PB(MMg literal 18295 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 xwJq1AZ7oUKrj5@&Z}%x Date: Mon, 6 Jan 2025 12:35:24 +0200 Subject: [PATCH 10/20] fix: Avoid false positives by improving test filename checks --- src/linter/ui5Types/SourceFileLinter.ts | 18 ++++++++++-------- .../rules/snapshots/NoDeprecatedApi.ts.md | 13 ++----------- .../rules/snapshots/NoDeprecatedApi.ts.snap | Bin 18026 -> 17870 bytes 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index d908d1bc2..8feaefecd 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -15,6 +15,10 @@ import {findDirectives} from "./directives.js"; const log = getLogger("linter:ui5Types:SourceFileLinter"); +// This is the same check as in the framework and prevents false-positives +// https://github.com/SAP/openui5/blob/32c21c33d9dc29a32bf7ee7f41d7bae23dcf086b/src/sap.ui.core/src/sap/ui/test/starter/_utils.js#L287 +const VALID_TESTSUITE = /^\/testsuite(?:\.[a-z][a-z0-9-]*)*\.qunit\.(?:js|ts)$/; + interface DeprecationInfo { symbol: ts.Symbol; messageDetails: string; @@ -89,7 +93,8 @@ export default class SourceFileLinter { } this.visitNode(this.sourceFile); - if (this.sourceFile.fileName.includes(".qunit.js") && + if (VALID_TESTSUITE.test(this.sourceFile.fileName) && + this.sourceFile.fileName.endsWith(".js") && // JS files are transformed !metadata?.transformedImports?.get("sap.ui.define")) { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, this.sourceFile); } @@ -648,7 +653,7 @@ export default class SourceFileLinter { } analyzeNewExpression(node: ts.NewExpression) { - if (this.sourceFile.fileName.includes(".qunit.js") && + if (VALID_TESTSUITE.test(this.sourceFile.fileName) && ((ts.isPropertyAccessExpression(node.expression) && node.expression.name.getText() === "jsUnitTestSuite") || (ts.isIdentifier(node.expression) && node.expression.getText() === "jsUnitTestSuite") )) { @@ -803,7 +808,7 @@ export default class SourceFileLinter { this.#analyzeMobileInit(node); } else if (symbolName === "setTheme" && moduleName === "sap/ui/core/Theming") { this.#analyzeThemingSetTheme(node); - } else if (this.sourceFile.fileName.includes(".qunit.js") && + } else if (VALID_TESTSUITE.test(this.sourceFile.fileName) && symbolName === "ready" && moduleName === "sap/ui/core/Core") { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); } @@ -850,7 +855,7 @@ export default class SourceFileLinter { details: deprecationInfo.messageDetails, }, reportNode); - if (propName === "attachInit" && this.sourceFile.fileName.includes(".qunit.js")) { + if (propName === "attachInit" && VALID_TESTSUITE.test(this.sourceFile.fileName)) { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, reportNode); } } @@ -1321,10 +1326,7 @@ export default class SourceFileLinter { analyzeTestsuiteThemeProperty(node: ts.PropertyAssignment) { // Check if the node is part of a testsuite config file by its file name. - // This is the same check as in the framework and prevents false-positives - // https://github.com/SAP/openui5/blob/32c21c33d9dc29a32bf7ee7f41d7bae23dcf086b/src/sap.ui.core/src/sap/ui/test/starter/_utils.js#L287 - const validTestSuiteName = /^\/testsuite(?:\.[a-z][a-z0-9-]*)*\.qunit\.(?:js|ts)$/; - if (!validTestSuiteName.test(node.getSourceFile().fileName)) return; + if (!VALID_TESTSUITE.test(node.getSourceFile().fileName)) return; // In a Test Starter testsuite file, // themes can be defined as default (1.) or for test configs individually (2.). diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md index f1a6fbcf0..3382b06a5 100644 --- a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md +++ b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md @@ -567,17 +567,8 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'Configuration.beforeBootstrap.qunit.js', - messages: [ - { - column: 1, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 1, + messages: [], + warningCount: 0, }, ] diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap index b35f0c47edd84635a5ae281207a5e43bc7af8817..f6e1bff052c5f19ab2fa2c6eaf132074d3a6e960 100644 GIT binary patch literal 17870 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 literal 18026 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 N|36ztGT`zb0st}PB(MMg From 6c25a1e5f3e3d725ed9b2905ac622121ec789d1f Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Mon, 6 Jan 2025 12:46:11 +0200 Subject: [PATCH 11/20] test: Remove false positives --- test/lib/linter/snapshots/linter.ts.md | 130 +--------- test/lib/snapshots/index.ts.md | 332 ++----------------------- test/lib/snapshots/index.ts.snap | Bin 15939 -> 14481 bytes 3 files changed, 21 insertions(+), 441 deletions(-) diff --git a/test/lib/linter/snapshots/linter.ts.md b/test/lib/linter/snapshots/linter.ts.md index ee83c225f..b02bf6686 100644 --- a/test/lib/linter/snapshots/linter.ts.md +++ b/test/lib/linter/snapshots/linter.ts.md @@ -825,14 +825,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -849,16 +841,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [ @@ -962,25 +946,8 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, + messages: [], + warningCount: 0, }, { coverageInfo: [], @@ -1043,14 +1010,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -1067,16 +1026,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -1467,13 +1418,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -1488,15 +1432,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -1521,29 +1458,6 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, - { - coverageInfo: [], - errorCount: 0, - fatalErrorCount: 0, - filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, - }, { coverageInfo: [], errorCount: 1, @@ -1594,13 +1508,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -1615,15 +1522,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -3060,14 +2960,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -3084,16 +2976,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], diff --git a/test/lib/snapshots/index.ts.md b/test/lib/snapshots/index.ts.md index 49fa0e56f..eb6a15116 100644 --- a/test/lib/snapshots/index.ts.md +++ b/test/lib/snapshots/index.ts.md @@ -288,13 +288,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -309,15 +302,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -342,29 +328,6 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, - { - coverageInfo: [], - errorCount: 0, - fatalErrorCount: 0, - filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, - }, { coverageInfo: [], errorCount: 1, @@ -415,13 +378,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -436,15 +392,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -771,13 +720,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -792,15 +734,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -825,29 +760,6 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, - { - coverageInfo: [], - errorCount: 0, - fatalErrorCount: 0, - filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, - }, { coverageInfo: [], errorCount: 1, @@ -898,13 +810,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -919,15 +824,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -1330,14 +1228,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -1355,16 +1245,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [ @@ -1468,25 +1350,8 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, + messages: [], + warningCount: 0, }, { coverageInfo: [], @@ -1549,14 +1414,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -1574,16 +1431,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -1939,13 +1788,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -1960,15 +1802,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -1993,29 +1828,6 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, - { - coverageInfo: [], - errorCount: 0, - fatalErrorCount: 0, - filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, - }, { coverageInfo: [], errorCount: 1, @@ -2066,13 +1878,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -2087,15 +1892,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -2422,13 +2220,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -2443,15 +2234,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -2476,29 +2260,6 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, - { - coverageInfo: [], - errorCount: 0, - fatalErrorCount: 0, - filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, - }, { coverageInfo: [], errorCount: 1, @@ -2549,13 +2310,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -2570,15 +2324,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -2905,13 +2652,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 4, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 4, @@ -2926,15 +2666,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], @@ -2959,29 +2692,6 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, - { - coverageInfo: [], - errorCount: 0, - fatalErrorCount: 0, - filePath: 'webapp/test/testsuite.qunit.js', - messages: [ - { - column: 14, - line: 3, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, - ], - warningCount: 2, - }, { coverageInfo: [], errorCount: 1, @@ -3032,13 +2742,6 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, - { - column: 18, - line: 6, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, { column: 8, line: 6, @@ -3053,15 +2756,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 0, }, { coverageInfo: [], diff --git a/test/lib/snapshots/index.ts.snap b/test/lib/snapshots/index.ts.snap index 8878e2324df6fd7a41816afba528999ef0e725ee..66e9ff57d076a4b38c60fdf9ffc236516e53f934 100644 GIT binary patch literal 14481 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 literal 15939 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 NZi6&lhc+6@{{ir>|Kb1u From e869a3f63efba9504ad0b05d228ac355189c9d56 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 10:34:14 +0200 Subject: [PATCH 12/20] test: Fix merge conflicts --- test/lib/linter/snapshots/linter.ts.snap | Bin 21661 -> 22024 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/lib/linter/snapshots/linter.ts.snap b/test/lib/linter/snapshots/linter.ts.snap index 30e01cb32a9688b846303f5c3221e8e35af6549d..243947806088ccc27396328b8a7a74011fafbb5d 100644 GIT binary patch literal 22024 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 X;Kc#5=m`D<9Krtsx*%b(FEauFAPd(N literal 21661 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 R@GWoz{|~xzC$&N;0ssrjF_HiP From 4158789a7261c4b62b8acc38cdef01cce2022b41 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 13:51:17 +0200 Subject: [PATCH 13/20] refactor: Better handling for createSuite.js check --- src/linter/html/transpiler.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/linter/html/transpiler.ts b/src/linter/html/transpiler.ts index 3a22fa527..7902dc6ff 100644 --- a/src/linter/html/transpiler.ts +++ b/src/linter/html/transpiler.ts @@ -58,9 +58,10 @@ function detectTestStarter(resourcePath: ResourcePath, scriptTags: Tag[], contex const shouldBeMigrated = scriptTags.some((tag) => { return (resourcePath.includes("testsuite.qunit.html") && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && - attr.value.value.includes("resources/sap/ui/test/starter/createSuite.js"); + (attr.value.value.endsWith("/resources/sap/ui/test/starter/createSuite.js") || + attr.value.value === "resources/sap/ui/test/starter/createSuite.js"); })) || - (resourcePath.includes("qunit.html") && !tag.attributes.some((attr) => { + (resourcePath.endsWith("qunit.html") && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && attr.value.value.includes("resources/sap/ui/test/starter/runTest.js"); })); From 9d976396ef745495730db059d4b7929ae65bae42 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 14:11:44 +0200 Subject: [PATCH 14/20] refactor: More precise detection for html test files --- src/linter/html/transpiler.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/linter/html/transpiler.ts b/src/linter/html/transpiler.ts index 7902dc6ff..196ad15fa 100644 --- a/src/linter/html/transpiler.ts +++ b/src/linter/html/transpiler.ts @@ -56,14 +56,15 @@ export default async function transpileHtml( function detectTestStarter(resourcePath: ResourcePath, scriptTags: Tag[], context: LinterContext) { const shouldBeMigrated = scriptTags.some((tag) => { - return (resourcePath.includes("testsuite.qunit.html") && !tag.attributes.some((attr) => { + return (/^\/testsuite(?:\.[a-z][a-z0-9-]*)*\.qunit\.html$/.test(resourcePath) && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && (attr.value.value.endsWith("/resources/sap/ui/test/starter/createSuite.js") || attr.value.value === "resources/sap/ui/test/starter/createSuite.js"); })) || (resourcePath.endsWith("qunit.html") && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && - attr.value.value.includes("resources/sap/ui/test/starter/runTest.js"); + (attr.value.value.endsWith("/resources/sap/ui/test/starter/runTest.js") || + attr.value.value === "resources/sap/ui/test/starter/runTest.js"); })); }); From 1c6034f50413677d414e1d9e5494b7f6aff1e51d Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 14:19:44 +0200 Subject: [PATCH 15/20] refactor: Proper handling of qunit.html files --- src/linter/html/transpiler.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/linter/html/transpiler.ts b/src/linter/html/transpiler.ts index 196ad15fa..c215a6529 100644 --- a/src/linter/html/transpiler.ts +++ b/src/linter/html/transpiler.ts @@ -56,12 +56,13 @@ export default async function transpileHtml( function detectTestStarter(resourcePath: ResourcePath, scriptTags: Tag[], context: LinterContext) { const shouldBeMigrated = scriptTags.some((tag) => { - return (/^\/testsuite(?:\.[a-z][a-z0-9-]*)*\.qunit\.html$/.test(resourcePath) && !tag.attributes.some((attr) => { + const isTestsuiteQunitFile = /^\/testsuite(?:\.[a-z][a-z0-9-]*)*\.qunit\.html$/.test(resourcePath); + return (isTestsuiteQunitFile && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && (attr.value.value.endsWith("/resources/sap/ui/test/starter/createSuite.js") || attr.value.value === "resources/sap/ui/test/starter/createSuite.js"); })) || - (resourcePath.endsWith("qunit.html") && !tag.attributes.some((attr) => { + (!isTestsuiteQunitFile && resourcePath.endsWith("qunit.html") && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && (attr.value.value.endsWith("/resources/sap/ui/test/starter/runTest.js") || attr.value.value === "resources/sap/ui/test/starter/runTest.js"); From fb12ffbadfd6efad1d2dd45c0526f8728bd3f7e2 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 15:22:35 +0200 Subject: [PATCH 16/20] refactor: Less strict naming checks --- src/linter/ui5Types/SourceFileLinter.ts | 9 +- .../rules/snapshots/NoDeprecatedApi.ts.md | 13 +- .../rules/snapshots/NoDeprecatedApi.ts.snap | Bin 17870 -> 18026 bytes test/lib/linter/snapshots/linter.ts.md | 130 ++++++- test/lib/linter/snapshots/linter.ts.snap | Bin 22024 -> 23094 bytes test/lib/snapshots/index.ts.md | 332 +++++++++++++++++- test/lib/snapshots/index.ts.snap | Bin 14481 -> 15939 bytes 7 files changed, 456 insertions(+), 28 deletions(-) diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index 8feaefecd..0429ac6f5 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -93,8 +93,7 @@ export default class SourceFileLinter { } this.visitNode(this.sourceFile); - if (VALID_TESTSUITE.test(this.sourceFile.fileName) && - this.sourceFile.fileName.endsWith(".js") && // JS files are transformed + if (this.sourceFile.fileName.endsWith("qunit.js") && !metadata?.transformedImports?.get("sap.ui.define")) { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, this.sourceFile); } @@ -653,7 +652,7 @@ export default class SourceFileLinter { } analyzeNewExpression(node: ts.NewExpression) { - if (VALID_TESTSUITE.test(this.sourceFile.fileName) && + if (this.sourceFile.fileName.endsWith("qunit.js") && ((ts.isPropertyAccessExpression(node.expression) && node.expression.name.getText() === "jsUnitTestSuite") || (ts.isIdentifier(node.expression) && node.expression.getText() === "jsUnitTestSuite") )) { @@ -808,7 +807,7 @@ export default class SourceFileLinter { this.#analyzeMobileInit(node); } else if (symbolName === "setTheme" && moduleName === "sap/ui/core/Theming") { this.#analyzeThemingSetTheme(node); - } else if (VALID_TESTSUITE.test(this.sourceFile.fileName) && + } else if (this.sourceFile.fileName.endsWith("qunit.js") && symbolName === "ready" && moduleName === "sap/ui/core/Core") { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); } @@ -855,7 +854,7 @@ export default class SourceFileLinter { details: deprecationInfo.messageDetails, }, reportNode); - if (propName === "attachInit" && VALID_TESTSUITE.test(this.sourceFile.fileName)) { + if (propName === "attachInit" && this.sourceFile.fileName.endsWith("qunit.js")) { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, reportNode); } } diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md index 3382b06a5..f1a6fbcf0 100644 --- a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md +++ b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.md @@ -567,8 +567,17 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'Configuration.beforeBootstrap.qunit.js', - messages: [], - warningCount: 0, + messages: [ + { + column: 1, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 1, }, ] diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap index f6e1bff052c5f19ab2fa2c6eaf132074d3a6e960..b35f0c47edd84635a5ae281207a5e43bc7af8817 100644 GIT binary patch literal 18026 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 N|36ztGT`zb0st}PB(MMg literal 17870 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 diff --git a/test/lib/linter/snapshots/linter.ts.md b/test/lib/linter/snapshots/linter.ts.md index b02bf6686..ee83c225f 100644 --- a/test/lib/linter/snapshots/linter.ts.md +++ b/test/lib/linter/snapshots/linter.ts.md @@ -825,6 +825,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -841,8 +849,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [ @@ -946,8 +962,25 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.js', - messages: [], - warningCount: 0, + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, }, { coverageInfo: [], @@ -1010,6 +1043,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1026,8 +1067,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -1418,6 +1467,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -1432,8 +1488,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -1458,6 +1521,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -1508,6 +1594,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1522,8 +1615,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -2960,6 +3060,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -2976,8 +3084,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], diff --git a/test/lib/linter/snapshots/linter.ts.snap b/test/lib/linter/snapshots/linter.ts.snap index 243947806088ccc27396328b8a7a74011fafbb5d..2052f863875207557e3c603473f93ba2699fb3ee 100644 GIT binary patch literal 23094 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%0A>lgTt2GoO)%L=P*D}KE5{Ga;NRQx%uk3b&E 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 z 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 X;Kc#5=m`D<9Krtsx*%b(FEauFAPd(N diff --git a/test/lib/snapshots/index.ts.md b/test/lib/snapshots/index.ts.md index eb6a15116..49fa0e56f 100644 --- a/test/lib/snapshots/index.ts.md +++ b/test/lib/snapshots/index.ts.md @@ -288,6 +288,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -302,8 +309,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -328,6 +342,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -378,6 +415,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -392,8 +436,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -720,6 +771,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -734,8 +792,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -760,6 +825,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -810,6 +898,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -824,8 +919,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -1228,6 +1330,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -1245,8 +1355,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [ @@ -1350,8 +1468,25 @@ Generated by [AVA](https://avajs.dev). errorCount: 0, fatalErrorCount: 0, filePath: 'webapp/test/testsuite.qunit.js', - messages: [], - warningCount: 0, + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, }, { coverageInfo: [], @@ -1414,6 +1549,14 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1431,8 +1574,16 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -1788,6 +1939,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -1802,8 +1960,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -1828,6 +1993,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -1878,6 +2066,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -1892,8 +2087,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -2220,6 +2422,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -2234,8 +2443,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -2260,6 +2476,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -2310,6 +2549,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -2324,8 +2570,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -2652,6 +2905,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 4, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 4, @@ -2666,8 +2926,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 7, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], @@ -2692,6 +2959,29 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 2, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'webapp/test/testsuite.qunit.js', + messages: [ + { + column: 14, + line: 3, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + { + column: 1, + line: 2, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, + ], + warningCount: 2, + }, { coverageInfo: [], errorCount: 1, @@ -2742,6 +3032,13 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-deprecated-api', severity: 2, }, + { + column: 18, + line: 6, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, { column: 8, line: 6, @@ -2756,8 +3053,15 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, + { + column: 18, + line: 9, + message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', + ruleId: 'prefer-test-starter', + severity: 1, + }, ], - warningCount: 0, + warningCount: 2, }, { coverageInfo: [], diff --git a/test/lib/snapshots/index.ts.snap b/test/lib/snapshots/index.ts.snap index 66e9ff57d076a4b38c60fdf9ffc236516e53f934..8878e2324df6fd7a41816afba528999ef0e725ee 100644 GIT binary patch literal 15939 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 NZi6&lhc+6@{{ir>|Kb1u literal 14481 zcma*NbyQs4(%nqF(y+2=V`PgU=|&p)Rg1tSF}eNS7UkF%FAlfN(yD$?@$XpV65i+%0t z8D%QD5m;~H&m5QI2b{}jmd`{IcQ%Y4u#o=!p`Lui45VA=y?zg_u=HD*ZAkP`E3>O@ ztaGe|RIg-6ds1ndpQO~a8Fx>dj<>5u;4-5@TFFSZ$xyJPH$4^kc$s%`OFPgMQN&AQ zGKkDnIhYZG=E}3wAxk-cMvvHi!5L?#&8NwbpOY&s`;&Kn`OnULx;)mxoUEDe>BFmf zYTZVE?D|3;^zK(Tja=%NdZD(tY=vtJXUklsVHpc-o%iiyV*T@H*Xm+7pBzSi0DgyT zD1~XS>@#HX8l{fFeN1KhkUO>lhWGrt7rbO0zhzWYy?y+kk)-j8;1_DqfHq7Mh62-r z#SJ76oD4jnGN3+UJ)n;!3TvinINt=hcU%`D&;K{ZG1k0U9jA(KDpDN7T$0dCPYqE>ofClHg&45 zXcD*+a2Ik$PL*&JRwusQG1rHe=reOO6l~jS$XHMic8tVLQZ1t42zw@WNqVfdMqG9V z1`0B$Mr@<~Qj54Ch1H-bxX!CGsz!{Ez|OGKY$MoFi|iu2sL)($l>Z2$u6sl{;Uk)n z6O)@(u&m0MrWRHEU82uu-~_BPZg^yr_z6v1Z_|FdmA`yBH2oU#f;c<}>nRs2UrqPp z3snu#Sy8nnLF`a9pc=_~KH4yVL!F|0fyO03s7@6_Md%?wXgve(NgKl_k;!9TwNT&Y zEe>5SN>$|mp+0Pn?Dln5yKDKkYTaTS4SicCaz4$Nt%{+-YLIWUazQ>ur;7kTzF5_u ziwn?;MkbeCHP^Mgq*6gqDyv*6K+0Vw?r09)=c~}A#~LO}zo{PAiuYwIBAFWa7Q-Tw zS#>ETyAqwD>=FWr6CNm+@xh+k(epT^2QPIQp88#NCrmJLd#VRogO9JedOw~r=e|O` z?KvM!kz^^`I_!|@j)4-Ts2>MN?6ny^$=^n0eDp3^*r{&ovO~caeJ}&DBW)7UAHDZdZ5zT!(>Izwj(pm3DlpLhq}usiG8!^`*WgjWz-1Yc==zTdM*Y8j`bAn@0AR`x2cC>f;uKPnFU4S8T zK={gjqaWnq+^BKk4A||u!El7JvVUW$&EPHhzThbpz9)k!=#HP1sbTQ7b8TY(z|*x!K0kHUR(09K zrnqN+ra`{O=Rf#{JCrZ2l7+!`p+3;7z&NE%(>1pH_WO-u`3{A<0Wi0(buF0v*!KkT zQCrVRz^hfi{>?swmp$c-SekbuM5q01O+iYksx5Gr}O@X#JUL_a_g87x$DH z^x_Rx20NNsCh?>-}sGj<;AMH`fsD-BNQKvo-ebK68xpU+YR7xfSC`2=9d>!%< zgR%%;=GpdAYZHOmRIu7LTYm~ft>Hl(B{Z<+NtwTMF@MkcFbPZ`vhj;XQb};|$)|1* zfodtH`E3uF0&R{7d;(#|^gckC=7wQ0{idH?dl$C^-?f(C66?w#&^$CnYJD-MjG!aP zXCB_}=KXB;eLzr;u|r)8Pl@eA3(@UdpN05NRpGS^pjiw8I60CJoh1IT0(*|wU`PHuP<@6UYUfu3bHnj)m)U-|E zxGoHB%5sO!leWwc5lCrG5}uhAHDWBMHx@s{hAy}ulK5*u`RFw^mXX23FwA`lv=qHY zSTU&S@NXKI;Is{A^su6dF;;_OU@MUvCz)~t$=5+vrAV|25?@sy2<=rS%up?jT13d6 zxSU+UkeG)XbVfeN`Ub>f%6cC{{7{BfNvWhISY(OUL5>S1OFllZ3v8g02r-%x&VxGhmtE0K+YZ`9N8AzC3gieOV(~*vC#Ko z>!P&9`S^Z515zq!4z2*F$;igZNbdas{(X5X>dPE#Fi-O2TZ~g7$S1r8&M1iY7j8-b zd-CxYZ;39t*l~F69%9Km?=AD_B#o&XI!|>3DHkjYXS6OlMO`7MD*eiENS>|865H57 z(T|+Ym~GV28DL!p60U_|8Ul^U-M_@P)S$0uCLgOT06j$4t?~Jdp`4;Xk7TC8igZ~M z)YPScLeVt$NNyfP`I|H~nw4&f+X0l7HeGAnfQ2F2Hc*`^tHwv%d>`9W3lm97t76QCLmn{kTmy|rCn7HRg3utZLqS7rP zb<@BiF>ZCUvfThd$-2u}xU}#*<-iWmRF80EzuXtG-0x6qu#6c%Kbg>=#kT>;j4 zm`;;X6F&z(UNHH{`A$*-3|FNj88LoBS1#a*ci&g>)(X%~>y`bjge}(b#KoXdC4bE~ zQL0+8z@0QJrxdpexDP$(kIN{VMv%{jX$vlZoA#l<^$2xtO_!*PHCTg~f>C3->=Fil z`(TxafIaeh50aGy(W{jVQ$PcP9drNSP|ZQ~o@ z1&hLBUAk-^RyG}AccYk5qWMdbHq5#`#q!7m?b z^wa!Y0sMYLM;~pDK^c6vij)>hY@=Nw;J7YW0$*SYZblaz>>2pkJk8GyaOMlW->|X5 z@za2>R{-zz6c%gK|Jrgs1aUq%aqjY>-Uvb5^O?*W{*qW>^jl%@^G5094i+#hFR+dp zIrnRY!0u&%#)L9+sD`~w6~<}xKg4i)fy(?Ai?{*Tis#G^{AQQ3ySr`{vBG`aw(#_gtm!It1v zcks;1&U>~MQ4x-y(DSqnUi_{TC2do#3sc#)s5W||wd;DTo3x2dwtG5rONZ_3ptvIM zMoaqffKE5iJ6F)VuL?1*OL~;9r5>R6!;dWYQ^_!K$;7Q3?bJCQzTduUrHdk4k6*fL*VRF@V_M>M3XCHo~r->S++LI(DhN#eLCEEFJDwovdQSHs` z_=Nx(-^qkosAT*|!cuN2YwICS_RRiE507iL zp#DHu(3%u#MU2`%$8tL*o#9#M?AZEah(o!MmBx?;{)0jMTFg&+Phn**HD)FQORj=- zbiWQu?i=PoQv>8TaZ+M^wzKb20dv2s&CGuKN9{PbTD$6*lk58jt6G(Flio#z75)(O z3ZXsAX_}G+ec|0NzsKcn(w5jmvRNlqUu;E$jJo9h0k~8x!EYw`_WXXxa=C&s)cC3( z*g5(}S>CH+)85|QbbN8|OK?U{YOv`-;&;41^Gao}*m!(s zRheVW((}mDtC=ULmY@%_stu43kaDEq^Wqu&kO2q=QurN!KXq$ z5nYI-RkuEASL+YEx6`c~EyKTlEhy3R_D-Xfs$oSh-)q@{7SUyyqL1R`)!@ChXH&9y za(>sVB-X!1ONUPHJx|be0&ZEXH#k|PPi}MTstd1W0p_UfMTXVunc8?wr3`~j9`sTT zbZc2D=d*m`->NMf15MnrPOc)=DKbGH=H=@?=s|zFF_wNO9MZiY5^%>}ZcE}yP&y9y zyqx&!FIYA=)5P$rw^X%~`3w8Mrj{v#1FQyOH3B{05tp_xf0rugtESwY>=m**-CFS< zf2xDM+_!@3RlMJCLT>mH9dj#ly9Rmh>ZAeBdkGx3N}W42rg*XDFm?#m08fbT8a^^y zO3)kSY7xl2q75l551!zw*15i8OI>okkah<*nw?8H)avA5(2v{Un^JFH5RPV?7k9UA zdR=j))=Zs%#~9x43XPu!?uDuPwC~CKI za6Mcun;>#WIkn&8EX;wduNU-dLi|#JM~Zx#=iw1jwAP?K;pNwLU#IO7w{X;S9rJVd zX2}{nVM&@K{JT2vukB_>oT){D@Sp1{WzMSnQn|gf38#}>wm6L+>T-ok#8a9LQ~TA} z=}?RXPtv<({e>GiL<<3d<{s;IUJOtSp&;I{a$AH|wY83wydDR)5=O>iA8Mgj(x|6<+|9#9N7`OVLT9<4WHl7*Z@;v{8D7By9WM-c$ zPruGyaQWb;W84Z2F2c}&WrzL+_@$apIRa-7hqvEtDY@*{@~7p1%Yfv-Qsf!x64EQ= zaAX-Q8FU%K2mD*gNIyXNu!1%n*@%J`oydrS6J1@(hoNgB^qew!QcA15>ty2gC3{x) z#$C?C?e0^~Lp$gbjcv$=C9Jht&zkXT@06zAaG9a&;CIm{*^G>UkczM0JP3HN zv=ctucY*U6mP17#9Of&U>PUMVommhFpMy`Z&4sUnurOp-Z)FlkKIbtX=}9|62DOz2 zR!-D#q)fb0fgU4k8?i+TE5R5Q8$w|XOad0iAJ5iJ3vb#)KM4+zDhDoMbtVAaS#I9| zj6W;?segTI#j>7{HN!TP^}<;j-=k8Ys!sgy!Q%`KDaOcHWKw zeTDGYpdA_TQ$V0NwceZ49LMIoW-;^vJ)1C`TYZ}VoCiMiO|puDH-^Ip)oGbHTGdUQ zUOAZ?h5 zRuO_T<~K3niaB739DEzqS&vVm#&nb;sYJ7f$^C!c8s z58qM2bwO1;A1)zWWEXpu2hT0>cn`qPZ)e)5NuQpHjag}8qt%{@Wpsp2tRNCNHY(F8 z_T)_oeD?05N?#QX9|jwT6H7YZA_Yp`sM@xOnlP z?>mfEhrn@Lufmt7Q;harZx3VQm{n`+i*XY#NBDrnwIe!guXTQD&oieJ{8-{bw+sYOZ%(cGqtVYTJLFgnch--xF?+LH4kD ztC{K&T};<;wEWCgbemi(DcnvTa=l3xLdLIPV>)^=o=@s8O=RD3AFCtd7OFe~BlU`J zo&%|BD~VqoBy4>Tuy=2MDgIsXv3#{ix`4cTepB$v=svqABFbcGGi)ck;QZxrE8F`XZ9;+@pB)IV@^1L4 z@ZlVhZHeGepX%<+F4n!?o829kJD`!AMIPbSbR6Se>celw44bzo zq56sf`q4JRuNQw_+#%HEdOi|9O=Bt{Yw}ak0xL%oiwu#z4Jmvho;IVgwSFPwoDbZ- zJVg1zAAyeEREI>?4*QKRpo`RpB2kY-)&mpAfq_vV?MUHV7S3;?NvBhr8sG3p#h3?L zBgO$>hkq0$Dv8{OuovSox$>0XGZ(SbLF9&3#NI4-NDlScvmCFnP%L!D0N*l) zb`ymgV2NW>23kbhgl%hel@XnCMq}c_IhoUV6+cB{-O~|Ydr&g=?c>79;a{h*kk_}v zg1dGp9B`>mmfu#4| zkc=W!gvFW52)%flSl+c6M-rdmTKydrJ53SI6gT#Wnd#?YsovMger^dgNBnGuMIN5j zQcm5U4L-KW)<2uxif0qn`D~{0>!(-vN}f%zl(d9X?Vs)-|JwqqkM&mizv-?DQu52J z=Dzu$#UCm87zDcK*Ld*jr`HS~J=vMwekoK=32xSujq0@EJ%?e+?%59Jj-&rMomsFv z%fgjko=rqF@RA?8^cj^F|4he0#ws+SrtmeY0nKrtGaa8~+ebE?RoAR?kz;k&XjryhcwMFng6p0}7S zuM;cT-{sgU$ofXB7FgF|>ZAH5NKDctPi`Wu(ZGr@Zr`G|iVd|ZE9BI&X^9PeO9tAr z$}D455-|u14bMw_M{8i0=*MpG1Q8a(CN5xAENc3N8%Nbah+~;sAVc0hH2DHvI0Y<; z|HkuO)!HRiynwkA{b%cdJujlgD9{jKLE&0HET-xfRU>Ayh_U4rwT<4Sjb`M!T#LPl z-sFaC(S_uBuX$e1@gq%_^Z^&1MYMMQo^t5ybzcRBKmp7I<&+Khg9KuWEyFa+E(-h+ zz10q7T!lmZM-L(}h^ed9ymJt5F~4K$z2rHJwtr&*NLK#L#KPV6sROs&e=zs8LHQfj zmGAf?{!q>hpo{p!>#wg}z27arhJBRq;sarc$v+{TbLxy^wY8Rp%lb}z6Y$G#`nGGM-zkIlG0wVNf*OoE5oe# z>%A{#V)8o}CLPEYw6G|A-9AAYm4)RNVk58U6I%FjvVa?@1qAzag-kSm^P&)ztwr=+ zL{$aaP!>5Q5a1(HT=VY4ak-WHp%A`3g&22~IH7|4&U4l@+$kFwI7^8PNR7O-hez9& zI^*(ektEj^GAP7t9Woc>6{kM-t4I9f&Gp@OZ^8r{ zA@inrFo%sXaK+@-zEid-Q1}v{>X(xplicW37X*+}C zbi8lw*0om{Eehl$b}zV-K_R*>WXBXPy*!vGZH*_{C=(+N4!yy55nE@!+ZGqOxJj~c zoO}ou7flZj_ZM^K&16$nox?Shv!^3Xf66@KyjvE!zQhpmy@$g3*)-$ zogmbF`{D1$*Khh3PUshCf?o|vcY3fyBW zPk?rSLuPXKX#K6=WbopKtGn&(^_8Ac_uuq}$~jJROQqs;rWAbef?L3uZ#|9YO<)$Q zj%-u59EpP}pgBJK@oFsa_(qpHD)l|yq3fi&)VTa*RxNu)`OQN#x<<(R;?X>E{j7H- zoW?rZG3!38Bs^7rUH$Bgbl=8`SFX!cU%3!^I9#f?jbMm5qO&_{lHnc?tJRr?{Lzj# z>b!oCC283%pss*S7iVqLTv$rfM1SQU%e%tC{Y<9x1No4AwdgbrcCpDj-wjM>oaf*? zyyROi&u*1y_!I!YHqqP*o&h}J)Ty84AM3nJxL}C$oq0VY5B3tyOUFzntipQ{k}o5X zX~?<`SB1Z*-8%ET#J_W>mhDlY)=QCNqK{5$uc0z*w2)?3J z%U!7=w=WL~ZP#%9>zN8QlI|$&(`o3qTA1*=9`5R5cYFVL{b$hC#ZU3eG5^9|{&62! zPm7>ku{+(-X>cyME$5zY9N&=LxsbcO;D?t1hb@oQiYw#hKDAs0TN|3hT65?X%eAT9 zwchH>vx?T<^D!lYGv|g5;|Ba<4uhn~eSvjcTxRf|C30x{20Ys%d>;rt*X@dXnAK%k zQOMWWG^O}3o9b{~(0j?zr<5!G{m4LF7wZ_;H$1A!(5%%4{^v!9aZvvNW$4-`C6~y> z*g}cwt&{AoU3##75b`)>r&^8IX~#-o!JnUE({8Tr`LFuDtfDqtk23c(+M6>Oe6MDY8CMD??fwXt2Q-7Tl5A>I>&)EdYL9FDxdVj$G# zV6SB*C`MCwIeymJ8{LEv_tT6mw?`l6L5i<&`63))f_hbCV8R2A?KTio{>WuPPKVi^;fj@}uOAPEtr60;?Srh3uB)y@>8f+263(49x zD(+X%___+qthZVlph-Q(q3CTiJP(Q6g_a)HnU*e+sx%cxW3Urcm}M|lXynljv=wc|pw1JG1HeOxwA`br>>wp^-{5 zMvccffPURaaIj1We($io2iOEv>5}5+`dr=;KdCwTrxc3UWDvmkoime_KKZcmisGOW zdVuOelk;=`NoUAnu6$m=;dPx^HSKlj;2_+!+IY3HX9_ZRc&=eICdRbZUVBw*wkpXK z;!tf2Hnl8O=DLkV_qR=ihQmvT@Q`qOE5Is=&cJ=I;-?l zyF+KqZnPrpN+8dXwQlx)46BD(t-RXxQ}gfeP|fFQL32G1Ug6|E(`c9exc5zc%gOLp zeod2v!;;ZcL@N-k=yDpqF!47OasA+1=YMttZGO5kdm;~)c*J?7>Oy{_7g{K_!Ph^# z*_i90G@h;DwxJ#8!T+ir%C^G4WV*j{U&ov5vp0Ol`#0>u13#?&P7D7p?^W2}uUlRLjv!oSgwsw``P zSCFfgBk<%4Tcs1;f^e*M9bkBCov|*dG~|wt>KN|}T^K>t`5U5w@N}~8wc-+(Y}u(< zDsOfh<8#708y$)_q&hZ@woJBWmyDfGI<98iT%B8IO1uiUyb;FWUzVSg+Hie2cC{8> zvRv2qTqVS#N)o^ObTNKNN}PVCm88FOdZJSB$3z6J80Ts#r_a{q5^~-rsst~yZ_W{k z4GOx^Ykz#JrQNFsp;by&ZTb@YahkcJYA^Ssbot(F)XYJ1?P0kJZ&PFK!hBv@pz%#7 z@;H(=$FETrw1J^mgiRUux>!s|eIK*Vr<}{~-m%E7LO2mcH7l8j2-6|%lP=a@BD(W2 z|2+c9<8k8<1d+q>oGooy57@^fA9;3%!|-#FMpwh)!Gx1PdMwSVC6USg=dudCGy`0%v%(o7{UofClU2Qa$A%rQgRP%yt^%efOa@5zNorRZJn?F?In7Xy`McAP`9Ex=yN~pj ze9mYQe)egk8S@XFR&C$0)-r6Ne=j7O2V)VOUM3;@umishl#pd;NWx@0`R(@mtq*zC zi-AkDFIo|0BsNYc>-k7JY*>0x%6}A4LNkzB@R~-E{824DB0|35jjcvQ-wO_G;iUnh zxmf8OqP=L~j)F>H3?`3~!;#4#(G0P8St zIe4fz`J8>x8GBKc+GxM%xs!yB{>|5^E&_!XdZUu{YQd1ruTzgRkg3F-jUAC^5drO} zQ+aP&s@8gahJUDqCt)ZC{CqOO2_nNje0`mv5a>)&XDMpshA9_?=-p`%@3QK9O1{S(Lv10W>o5QJvo|h zbx!(|Y0j~l7t2fu_vs_=T>GfiCv{oT60-W=brHR2Ucvh?`Q1MD%28qvk3jf#3fM&? zA*^U4$ZJ0oz)EuP@o5lER;K367D%?mG zws#ghM(Gz|__q5pFPbR{vudu%t+6B2Zv`>u4tYt-Kmzi6?&2%9Ui*s4c2N0)ihT&*DBqUIpD_9%9$u2lx>i~10g z4N+0!4RX2&_bL1{DM@4cr5>qg^Wf7U)sX+OD#fi~Tz^D#W*j%gt;Pj$I*F?iDz1}k z@~kWfoW)~i-R^LVMo*pAMaLF490cVnD!<;EY=W)k*T7bk zT0)#+P$v;K#uC_qWkd;e`3B-qW4#X-eE33j${YKN9Qr`AY{oL0AqsBH8bD_QT4Fy` zqMd8l8oJDj#70%XxMLb~hVUzF^6)PlRkZ9OE@E`zwA%UjTSfR@Q?WymARY}?a~aI8 z{Rj_&B00?BeAEO7&}4afc5Y+^o>9)AJoUOY24lRC2Mu)Hn}Z_`eXpsL&XY5aa=ffk zFsT;F9(}SQ;u`1HA6-V5STq@aM2;{*FE>n72ZTa*(IpWg`TwqWxma+^kX_O0AY$NKqlevwcM zRDB*MQ=3TiXV2euf7G-N6_s3g4Hgx3c$eK2)Kp9*#m!a~q34}V{(O+1LqR^zSf}=+ znQ2XW(2vvP=3Qv1VgNYqDx{=k&zj9+kTK zd5>FU(gbN1#iSJ}#S-a^FTzf6tb*OCwA7yYk|+8x2KZA^)e;St;?0zK;5y4MbF?ac z(8dRwQ@da0JflC|08V_dJ`_;H5Ae-z0`}NElyk1Gv-C9WyvQ>o5FoZiH=1)?=gC`r z`Ua0UtrM76+=n&zoxduHu(zu|y^*iH2WH)IL_Ix%anDPT+o@Z*y^>VSAJj<7cNmQ+ z&8$5+xl)==?x$c%=^GH)hAU@~5t6tfnd=JZ-Ds+$#ps4x>>(f14-0f?YVc3kWKR&)XLx~I^ z0GHp~&%|S`BX~oJFC_Qa$9;qHP+LG->lgiy8iHHMR^?tRWxK_pBF$ts8$PTtvj>30Z6gr@x4eJ^85 zB;+n>VYww^EQfY&ADU)g)s15|050psgN+ZSpbs+O_#BpZRi<=!g1G1g4M{1p}w| zUrDlak*~q$XRuur2`WDO{5TuXG2LI=;#+8F8n7`_-C`j>ulZDtVQeEpDJmfdRv6wJ zQxq7mZ}Wr6eq%#Yf^66%Ab>#R1cBrqV3&d;Lv_O!+uCQ+uNMSN3(OpjnV^Nn=r>I9 z-I&J}g_q>~X}25WI5hwBPM#5l=8xipLWz`%@(Rrp%@gyH5kZAef${%{_i~AB^YNd(DUSYe&)Zwd;AHKhN(~;=S~r#|PzjFX;1qNp!qd!n@&)%Ar?P zibgUb-=H~x5FQ54)RdqQJ_f5KOp;F$$iXDA2Q-NK*B)xoSxgdGGumwk3V`a<7*Z7# zjF#mmuOaK-eB@KHffkJ0Wu$M)%kF56@j-KSmcm>jkpD^h`Ap%G6HBe59sMx@sK)ZZ zL;T23ER^}l>=`$*q9&(VAAW&g8)Q=hI+0Lima6^(b5M6@+P)Ez$bk1Ned&1rGRpKH z^qlJdQvS)p?D@Zuf4(Hy7IAx<^#9j?$`N0*|8Ml4r05rw=kyHI5|=jCA?$^{IfAx% z-!9)p9T14E)H$w3PkGXGtVC&xU1+bLXg#YN2J<6=?H!b0)6?5DU;DbN zl){04ficJPuL&XDBPV=DfR;6Oc=4mhdV{@^n6NgT?Gly!HLNdvYB7cMjYNUF7@eER zR(RSJ-?K9E2cYGC_~gbWbIPhHP;@$8wB2)S)X|Vsg}8yfV=hWb%qL~d4gg-6*8sz$ zO@R)JeRESJ-oXB-E)O%d7@p+)G*qyU`bwo9x? zpVvi(eb{77w#nE9THiU*CX$Kj{o_^qM-9a5Y121WAxqvdi?9U?nn^DsprtxDCO$|U zTVZ&1%HUz1{wHE!McNVhb!Ef>s9SrILLRVX5FndTPtfsg{|nT^L-G(k;NL3-FyFC-K|C2EKoGTyf_gC=M$Z*&dOCK6#GZxHeEvU8x(M=P`^4$#3jU41+! zN~j0RwPxnp5W-hb#u$&0T*)6Bq5%^k4yi;>|N9v&+!BR9d!UM~sgrD)xY?<|mnyba z13s)52qClLjwxPg()e1ewKU525r3-$KVT}>$x&&8t|@W3weTz&h|zBD)a)ojUF3)xY>Gy;eSn-IaF&Gp^>qWfT$8*%@BGq` zWg8;)d1(N$g5}dOlbr$qe04>*{4?m8qx{^9qclgK+6cs!BKrw4j!F%8bF-ZRBa2YA zE1;R|aYJ105wr1bu8RU-3cu+Ka*A7oB|btPHI!pq#Kjcvf7UR*2{(BRNzm0MRh-8y~@`Xv^~oh zCGC+zLft{gJrE`?UXO7_RSPU13eb?yS}zd;S+kQF(TX+Y&>Ajt7_k8#=*bLC{KK-a z77aag=L78E4PuieuboQU3~&E=e<_lW3%&v8?4H&9JzZ4VmMG#0%fh_z$IWbrd6L@^ zl2PZly%XR+tNP+t&|;I|m1mrF2Nd^2U>$iW{$I~Xg1|b|$4z9lkBBSn+w5o0-CMz) zdF;jjP&2N27Yx@D_%UAg=y~f7K`*;tQ+%q2u@hZzY~ql``t;s8{Ih_lAkKN-7@yps zljk#x%W@CZyS>o6ozWXL$2fHW=KqtMS?Ixz`XQLQrxj1m62mRnCO2Nzy!5ZwN#xnh zfTb)#lhEL5h~nSV9#%>@{VQf77(Q*KYDG~0d^T}er2Qp}TIsaS3A%HkYZD42cMhut zDpGzLRh|d)_0Yfmhx5E2yDIcM2tLr(>Ua1aF4~&D^E=GZ-jD*amHh)ePiL#m|7nK& z$J6)F$fo39kd$BI-`M9U`d0ro+=;^Yt7Qeus;L<({HRrJnTxcm$GvjdG6}&L!j6D#CJ(Qy#-txVy8w zP&&@#eseG^%%nkVdtEPT290tGLAf)DgCn9#&%8gBLj&rE(6o;z*ykz(2G zI?GOHkT7jMUV0x!rEHO7onlCTbL&Len7!aAX&fzUHr}~?YEx7Ql_)r zs2W+T4_hRINISUSaFaZ~P(zbnFF{GgLC&~A4HMeSC%ergVj|fFbUE*}kp&8)%c(|I zSKFgHoMLi2s0VZ9MI)u(atMFp=2VTDHE1eV{6OSv6fOUTg{+L5Jf~_1gIV=mG?UM3 z>6eut9yAWpkj24Mu(arUOCOiviRqJdjl7LOMGQ9HV88K~_n2ix`4lPMAq6yhCnC)1 zrhiNpun%k(*bZtA;l7dLf}*UU25zzAg;)$B-paoMV&R8)5J6P3tSXc-_dE>qsy7v{ zLLF!<1pfVumXDD?XM1q@uN7BY83hXFo=l4E73Gj7we_dqsH@uKNo$d3#`tTV<#IqMtfdP8ePds?1C`{#95R{aK;+v~Y3{M!!oK;o z9n=gWxI(-p@J7eLHN1lr-F*Bi0F{8wh#eHO7#_ZO#=#4WzUtCJJy ze;Xnm!RKGMs);1;`1Mo{Ai&b9N;HI-5Fe!Z6ctI7m&KFV6V&KD4zeTa#@ ox3e{@E4{zKH)5!uJZbGZmZs~|Cs0-S^Mtx1FdM{7ih}h2090xT)&Kwi From 9523ebec2cd81675c2bca3a43d6b1ffe0a8f8b2f Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 15:54:35 +0200 Subject: [PATCH 17/20] refactor: Improve files check --- src/linter/ui5Types/SourceFileLinter.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index 0429ac6f5..39dd193da 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -93,7 +93,7 @@ export default class SourceFileLinter { } this.visitNode(this.sourceFile); - if (this.sourceFile.fileName.endsWith("qunit.js") && + if (this.sourceFile.fileName.endsWith(".qunit.js") && // TS files do not have sap.ui.define !metadata?.transformedImports?.get("sap.ui.define")) { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, this.sourceFile); } @@ -652,7 +652,7 @@ export default class SourceFileLinter { } analyzeNewExpression(node: ts.NewExpression) { - if (this.sourceFile.fileName.endsWith("qunit.js") && + if (/\.qunit\.(js|ts)$/.test(this.sourceFile.fileName) && ((ts.isPropertyAccessExpression(node.expression) && node.expression.name.getText() === "jsUnitTestSuite") || (ts.isIdentifier(node.expression) && node.expression.getText() === "jsUnitTestSuite") )) { @@ -807,7 +807,7 @@ export default class SourceFileLinter { this.#analyzeMobileInit(node); } else if (symbolName === "setTheme" && moduleName === "sap/ui/core/Theming") { this.#analyzeThemingSetTheme(node); - } else if (this.sourceFile.fileName.endsWith("qunit.js") && + } else if (/\.qunit\.(js|ts)$/.test(this.sourceFile.fileName) && symbolName === "ready" && moduleName === "sap/ui/core/Core") { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); } @@ -854,7 +854,7 @@ export default class SourceFileLinter { details: deprecationInfo.messageDetails, }, reportNode); - if (propName === "attachInit" && this.sourceFile.fileName.endsWith("qunit.js")) { + if (propName === "attachInit" && /\.qunit\.(js|ts)$/.test(this.sourceFile.fileName)) { this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, reportNode); } } From f000defac69ca559ddb226f69b3ec9ea009f08e1 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 16:52:28 +0200 Subject: [PATCH 18/20] fix: Pattern --- src/linter/html/transpiler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/linter/html/transpiler.ts b/src/linter/html/transpiler.ts index c215a6529..d88772290 100644 --- a/src/linter/html/transpiler.ts +++ b/src/linter/html/transpiler.ts @@ -56,7 +56,7 @@ export default async function transpileHtml( function detectTestStarter(resourcePath: ResourcePath, scriptTags: Tag[], context: LinterContext) { const shouldBeMigrated = scriptTags.some((tag) => { - const isTestsuiteQunitFile = /^\/testsuite(?:\.[a-z][a-z0-9-]*)*\.qunit\.html$/.test(resourcePath); + const isTestsuiteQunitFile = /testsuite(?:\.[a-z][a-z0-9-]*)*\.qunit\.html$/.test(resourcePath); return (isTestsuiteQunitFile && !tag.attributes.some((attr) => { return attr.name.value.toLowerCase() === "src" && (attr.value.value.endsWith("/resources/sap/ui/test/starter/createSuite.js") || From 9b3606f1edf79a98ab4fb120af60353df4b27b3f Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 22:38:04 +0200 Subject: [PATCH 19/20] refactor: Deduplicate test starter messages --- src/linter/ui5Types/SourceFileLinter.ts | 17 ++- test/lib/linter/snapshots/linter.ts.md | 67 +-------- test/lib/linter/snapshots/linter.ts.snap | Bin 23094 -> 22739 bytes test/lib/snapshots/index.ts.md | 165 +++-------------------- test/lib/snapshots/index.ts.snap | Bin 15939 -> 15170 bytes 5 files changed, 38 insertions(+), 211 deletions(-) diff --git a/src/linter/ui5Types/SourceFileLinter.ts b/src/linter/ui5Types/SourceFileLinter.ts index 39dd193da..d19cf6907 100644 --- a/src/linter/ui5Types/SourceFileLinter.ts +++ b/src/linter/ui5Types/SourceFileLinter.ts @@ -62,6 +62,7 @@ export default class SourceFileLinter { #boundVisitNode: (node: ts.Node) => void; #fileName: string; #isComponent: boolean; + #hasTestStarterFindings: boolean; constructor( private context: LinterContext, @@ -80,6 +81,7 @@ export default class SourceFileLinter { this.#boundVisitNode = this.visitNode.bind(this); this.#fileName = path.basename(resourcePath); this.#isComponent = this.#fileName === "Component.js" || this.#fileName === "Component.ts"; + this.#hasTestStarterFindings = false; } // eslint-disable-next-line @typescript-eslint/require-await @@ -95,7 +97,7 @@ export default class SourceFileLinter { if (this.sourceFile.fileName.endsWith(".qunit.js") && // TS files do not have sap.ui.define !metadata?.transformedImports?.get("sap.ui.define")) { - this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, this.sourceFile); + this.#reportTestStarter(this.sourceFile); } this.#reporter.deduplicateMessages(); @@ -656,7 +658,7 @@ export default class SourceFileLinter { ((ts.isPropertyAccessExpression(node.expression) && node.expression.name.getText() === "jsUnitTestSuite") || (ts.isIdentifier(node.expression) && node.expression.getText() === "jsUnitTestSuite") )) { - this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); + this.#reportTestStarter(node); } const nodeType = this.checker.getTypeAtLocation(node); // checker.getContextualType(node); @@ -809,7 +811,7 @@ export default class SourceFileLinter { this.#analyzeThemingSetTheme(node); } else if (/\.qunit\.(js|ts)$/.test(this.sourceFile.fileName) && symbolName === "ready" && moduleName === "sap/ui/core/Core") { - this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); + this.#reportTestStarter(node); } } @@ -855,7 +857,7 @@ export default class SourceFileLinter { }, reportNode); if (propName === "attachInit" && /\.qunit\.(js|ts)$/.test(this.sourceFile.fileName)) { - this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, reportNode); + this.#reportTestStarter(reportNode); } } @@ -941,6 +943,13 @@ export default class SourceFileLinter { }); } + #reportTestStarter(node: ts.Node) { + if (!this.#hasTestStarterFindings) { + this.#reporter.addMessage(MESSAGE.PREFER_TEST_STARTER, node); + this.#hasTestStarterFindings = true; + } + } + #analyzeParametersGetCall(node: ts.CallExpression) { if (node.arguments.length && ts.isObjectLiteralExpression(node.arguments[0])) { // Non-deprecated usage diff --git a/test/lib/linter/snapshots/linter.ts.md b/test/lib/linter/snapshots/linter.ts.md index ee83c225f..5706a637a 100644 --- a/test/lib/linter/snapshots/linter.ts.md +++ b/test/lib/linter/snapshots/linter.ts.md @@ -849,16 +849,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 1, }, { coverageInfo: [ @@ -971,16 +963,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'prefer-test-starter', severity: 1, }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 1, }, { coverageInfo: [], @@ -1067,16 +1051,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 1, }, { coverageInfo: [], @@ -1488,15 +1464,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 1, }, { coverageInfo: [], @@ -1534,15 +1503,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'prefer-test-starter', severity: 1, }, - { - column: 1, - line: 2, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 1, }, { coverageInfo: [], @@ -1615,15 +1577,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 9, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 1, }, { coverageInfo: [], @@ -3084,16 +3039,8 @@ Generated by [AVA](https://avajs.dev). ruleId: 'no-globals', severity: 2, }, - { - column: 18, - line: 7, - message: 'To save boilerplate code and ensure compliance with UI5 2.x best practices, please migrate to the Test Starter concept', - messageDetails: 'Test Starter (https://ui5.sap.com/#/topic/032be2cb2e1d4115af20862673bedcdb)', - ruleId: 'prefer-test-starter', - severity: 1, - }, ], - warningCount: 2, + warningCount: 1, }, { coverageInfo: [], diff --git a/test/lib/linter/snapshots/linter.ts.snap b/test/lib/linter/snapshots/linter.ts.snap index 2052f863875207557e3c603473f93ba2699fb3ee..8297428b4cf3213db4feeb5a7eb261063c978f0e 100644 GIT binary patch literal 22739 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 literal 23094 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%0A>lgTt2GoO)%L=P*D}KE5{Ga;NRQx%uk3b&E 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 z ztPC8;Od*O8S_A}04+5xVHRNm$LG}>z0031*?&wHaqD&yo+O(3*f;QJUJRZCvEnZ8U-`C>dwKBw7!rLOH+WGJy-^M^)aus#g2g(8mT55+mhN>Xkl zp-t2D+f#bP^kyhCTy#K#l z434e!WR&(%mgG+Kg4cc=DnPdV+wf|d`W&@drv>gC*sNZ=^6LA{#dnb2wrX{tx=@O+ z;B)Wl3o6FvKGa%$sI%66Jl>o-1uI^WhEBRbD^^&rvpY3{{lIJ2v6`tn!-+hiu8qys zj8j$a!a>V*x5kV9J6riHKz20pUx3YIWP?=ge-mtBndpGAh%@Ri$ddmvAVsl&+m|Z7qW&Q*YO7ni zR&BArrTzmCu9!AffX?+Tw_ghW+W+f z^yjr5K?im1MkT^ay*m5acIh^k?a6s<`sYow%1IYLv!^FStJVRuy9}r7jf}-Y{;`$ypYq%rok@bkET&u`{nC*<&-q6D8qR;dR^l+aHdjxIF>; z*o+)dBVt_^m?yY<5|!jLd>|JPFmQXvK31d|fIuWg{H#z|%56EoH*1j&ZxUR(#m48XBlZwi3mZ{M`LDb(XbRPzyBzl`5AZaNCd`lNS!c+k-4 zwQv6ykL@_4jz?|Fx+9EQBW71Vi=OTM+lU2^rNPCdmg$}H)T!h~#{=wBmBZ)RoV}fL zI_&V76Lz9!IINIb&ptvm1Fv$;LpA#>#-|sumU+^D*Y=%!Dz_a}-H!@Ik5}g6a2rOa zuw68HJRALj#g4H-E=3pAQNeC5EUALTL|J-vIaBS@Qcg*N`bT?K+Bq9^%RF@GhC4f_ z=a60@Q!at;G+vC53ii=9)t$JrQL0H=kt8s$kgwA--dESXH>2dGx_1lG3F$t zBSln7b&l3d(}ET={;mV5iJfcz_{8(3DGodG#9NROS*fY^R&3@yn+(Hf!ogujlBpTW zwiwIQ!%3EZuj-_kWj`Uz?dddWV~mFEsOaLyv;O`XHj>tEimT+9A|W5yp>2Eh_=E=a zP0kbk&G2X=Zk8%FRiHLV#GGITvCyL^H@=sZ%_8Y&%^~B@N6bc7vDPwOJ5pCD^lIyZ zmN5Kw)U0NlUUHE(GFUc6=8#&3 zSq`f8fFyS)T2eWNM7{EiPirPzvSV;dZm&9G_V`n0!QiPA;aW|!k(wiq%MtZ^O+)DS zdbJ2Bsn_jw_sSkA=HnGr{Ta1IifWqr+>TB;s5sWD@uu4YzP)bOfS&1<(bxQ7q-7Mwi_q}y z*cBd>D50}QUr%At1QR;TK&TRuRrwjEv19Z!`X`viB9X?yqj>e`Dg4+3Q#dn*Lhbk| zDDs~jJ&C`XY$QhNj73R&cl0C{j<_Vow6URawn*bT+3W0AU1g$FHjch9#+@Uja=Zpo zh@|`C=t+EG!~-cRc}7TMj!L6i2i+&fd>7vwF=fY%bt0ZoV$i*KMTN8D+{+oh{UVO3 zV(`5@!R|5LZi7Y}tgt~_Ol=jl3`$?5%E?tWxWxwd*x(@>e8C1^v%zyV_=ydEV}m~m zHA?d1bYelAdkf>-s}VY%`cE7D#|CLxFe3}*Wx;|hXv%_>af^qfqY5%LG*K_|r1N7rF;nOqWxtZ|#OemiPhi1Vy6G!8{ zJ`4Ud3v9EYYBubd4fo83=f!9|W7WquXTv{cL*5*yn*;kIRWmBYY8i74(Did+%Uswq z7cP76`Z@LQd2qfMjW^E#y>lMiHxHhk2QSTodI^3YfmtktVGJKEo)4AtVcmS_eDC^W z>fgn1a&f}&!TrVXp<=kB7#@G``rpOjk{F*7t7sUDQhc`repCW~DS@m~kW0g5Fb;{O zFpR}9zgPxeErXZJ;Gbo%xg0tw;DA^PqtpPszXCo{0pF;AS1Q0>36EF8@5E9VWd>+! z6=YRGbro!=f?KO#{sK5rtZQMYqG3H}0qk1zQ$M)}pCa)LGl(mG>T`%kSv-ABVodxp81?%CxYP`nS1Wwy$o+v`-MI(x&S zDzUirv0zkA97bg(vX>bdrMWF=JnFKCO=ayp@~|h6Q|CrYLzT2M;tHX*)*IW}@a)Bd zAXSpv8w@G3D}jaJm>ZW8*@$c7@wnGM(xn<0n0NK|MO9K;m^;;)Q?^TSxx=qo=JdIg z6$7u@?so1`0?QoQ&#KwR;R_6UNbSquhayIn;6yN946=`9yg2cv7(a%L-#iM&&p8s~ zRXz-p%bRsB*Vo%?N66)9{MQ8VPmHvW<=>11{3|{Z|2p>hI(pmzmmw?c5tx{*GqG`z z%ESraL%c|+!UTLMH}WA8?iBlZ8YVAJN%&Jvn6jz7K)wOZBnkd^# zQ~aG&o5$0qWOdh)7;WB+_^n?zA7$h7!2$fS)dxTsq zj>FXjQ(PS(SH-P=ELUq2aJ3=6z-aCF%DryqcDY;WP~DVP1r&LBEH?iNoySd$Rni)t zH`v#!23AHK#fE;t@Yrs|Rq3v4k<|8H-##ho10UX=$pJ-f?+LiQdv>UvS<&5@uC9oT zV6=Z>kU!w=l>_}M-6CMJ4Ry=ZP`{ssT8yebn&erxOzJ*b(=8)N9{f*Wg{F zy)4)kQhJY?(RKB;RZ>9ldt|5Lk~+iQ`f?!T?vkCMpz56;eviMd!8=^OtIt+V1fx$G zh30CA6n{n)^YN!y-V%o;qGQc4_Cfny zchsL6nTZ^kcxxs>l1NkKFf+4EjmgoCNxTefQ)4pu)=46bj$^nPjKZFeQ$sU$Lz75> zQ9s$@>=f#zzUK2h9X*lToI6lC2O2_8HQJPG^;)v+7wrugxBx`Xu{}Zi4TdKn;letqI;V4d#B5$o;S*@4Kd`BX5gYcjOJ2 zbw}QZ&AKD6T9qu~$XjC39eK~R=#IRHEbtKvJZXXdwLnD@yrBk2ijj`SAjyVgSey(e zB||V7o=%1XDe$lu>1e2mVtp7OIX;737P3dqT9oA=nU(A7%W`JIo0k>qpV;S)M3@FZoS2H0? z%z=|`%=;Gcpxo|2Vo~$D?bugZMV={Fxo_u36 zbud0Ihi2+vJefyl>R^0~4#v&H$&20Rwg>y%AthdVY-@YW0XeA=SOT;H+Y%j=!{@J4 z^#nOL4KG9;7)(jKmn!xeiNpQOf_L|^P6MQGZ@j2CG{gVmaQXexzW29#FAv1hd z%$;pKxxHwHpPS)rGt9QYY71N&DMlUd45c61|9^Yu9voM7-|^3SAA0&BZ0};rwpNyH zNw#+NmMjS&>t$P(jbA`X6PK=5SMnNZ?`9ve9i}B7gCRBbw2%pP6H+pRn_y2u2t(7f z4UbGsQ%uvrBw^BF7={K)%eY}6lvg?}XCGIqbH%;uU4d+@e?0P@`#XETzkANPXMg9M z&+nY|(m{2^AEJD6{y(fapPaYaW>@1XoyO~Zkz0BLVgF>xgE;Ft~m%rOL|EtRw$xbiOIu zY;9^VJ6?IY6BAQ!>CS21(tdT^E9MZ6u1re6F|I!9{|n(e*-)PJPW)4yaHSR-UF-_lb3q}wy;2p!wy)qm;3FL z^t&e}>31JY((jt*X>r)lB>nEpB>nESc^Vs{+^Vr5zF^hZ5cgR%HpF?W#)g=0)7TIq zLxtEvm2b&AYJ;!X;M+F%sSWFXxkRl?pkQeT~j^^8(nu01hmGyBEL@ z7Jz`KIOWXdT{_eDg|KNM{J}!FZ6Tcc=92>wUQ1q}^$WLi&UYxVG-LtH%JgIHJGA4pVwf%crdc|gV zZ{h=Or9F40Uzug4OOr|i!C~c)$3GnO?vIX-#c%CYcIw1jQIq$}S(aClE^kuWTQeZ7 zVoA26jm(wLQrnWGwsBuDFp@~0B>3D5ES9b%Ik(Gbw(4ez_L>r>4l84|BT1T!*7Hv0 zuJEy0R_L6fF#c~OCGWZ1153^P}Llf6!=}PqypU+xi){$Jxyx%Q_c}|Q%x)y7(6RvW?3hBap`NB#k zc%0BGU8u`K*W-k(PS_(|Xhe8jEN>p%=LEkK#+`7;2}hl9!U-px@Ss%j5`&6Y8kDUv zD03T>l^c{*$m#SRcEV#$c)|(KIN=x4&9BKE4{Nc%?1a~x@TLVWrMPJPP*W)q%YoXP{B^Q?>yv!hh6X^sghmO?@svOq>G87@vBos56DH&Yefr|X+?<$?ZC2B(e2B$!0!{ww7~BN%e266^Kvcl8(OXf ze$OmV1b(&TkFPD)@Q@A6`DcfE5ErSW$=p? zn!%!#n!(^o?VgXVOx&~P(5F_W9Ga->w<}Y1)vnU&I(nZ(u9sIyb(NM)eKu&Wxzs^M%kSl2_NOsdsq;M}_&K9{7`-n$;& zUJvyfz$cSx^pbz)dx9mrSbFlcm2?1K+EGXKUc~8rbB4KlZ@) zJf>vnpLyWt9(cRM>3g+Hx@bG7iH47t^jr5&Yp zP+kXJb@2H*c)JcNWWcQsA?)a_hk<$+t%sxaFuwshWw@;lAMDuI0R9Fz(g622KyxD~ zjb`Xz#~qDuyb&I1gtLwC`6f6n^Kf<8V8@vzcqGZfeWMAEHp8RM#(9DAEsp1#;aAP@ zuDG-X?r(vAkrBEco!NyJc)JBkTEWu_XItSN8K3LbnJwK2r5mAbBiyhN-Vpz9GvgXN zI@+MS4Q_6OTif7l8@w-@=@G%p+M%o+I@{rM?QpssS~_5)!xRyGtOM@ufYTlDbO+pg z4Q%OzgPq2R;CxHoeVuTBC;WXUywC|>z83a(!C!PqrY$UroB4TSNq_NJ}Bsiwf%5wKm4d4{)7UuSx13!K>k|GWiW-2%66g$rAuY(O&ItTXKzfc^pS55R2$aDD(5ZG%nQ zB-0%_(?8q>BirEiZScT0_{}!(48p!a$#l2Q^p6JN=pcM+5PmE!-wwOC!;$Th=^oue zT5dU&%MCVJm~fisot}xD%A-nDtkEdJXrB^{1fqxI@$W>IWl@=TREh397*xXA5?xib zcY33$+_Ebhq3dKP%KJ?=rR@vxX**PvU~JqSiYT#RRoZ*fhtfvUTg~% z`(_f9p`KVYs%Gl&Pjx#~ZavxPK-D^vp8VAr>d8AqaM`@?#xJW{9jMijC%I4fOt()XKz8FB;733x(D5KMCZe{4EQ6<`w8l0+x z%7lx&lb>gH{O3~gmQhZSWpj-x_%W_XcT<^(n>HG{Nxb;dJ#@oBb25ME<>#de124%b z1+H8#8D%Pw2awNnmy@TEQ{5!b#?##-kMXjb4(*IZhvOn5A!Te#{D@UY+(W7w6%6~3 zJLC)d#>H&6-CZdTD|jNlkS7-Kgp)Jmu(-0aBSkMBQrri_foN0-x_y!9Ej$U68TOMU zM?c9qHDo^>$kI=0Fc1txGjfm`^u({d#5}X~6KX+zbv)#Y-l&8l0X3MBgAx{=iKNLT z<|nfm(?phj8WA7w42f|ovyK)w@Tf_POUz4V)9<g%X`*cDRAtFZW?+&$-#}f5iMo2D@M1z*@tgPiBETTs+YMdBZq_j{b4m2_)>hQvfSZr4l5%{SP_{aGD-DdsJ9}`I~lB# zeX0%OI+L}GyO^aG;h6~dJmT-Y@eVlGKt90+V)XLaV=`j28fImQ1-x<9-neRS+7r)g zkltrlNoHACKGyt`admF%j`GYg{ZYsdQSPfpW@6njs@@O^DdApUB)Q@^;Twx7-n5T% zTxyhmHKZ$)eRpwT#YDhtK>Qv^i2lwtqykV*et z9EuOo9`PhSk;E5fG*i!h8QAQ}w3w|(#T%=JqDy{o`K?3AW8B5~s4i1b-$i-n3W4LY+Dms4DSHQ*Z7r$I0PK~_g)9ApNFBOu-ig!7B7;TBbF*?TJ6}AD!@lI< zJKSxD({^~;4vQSnC$sYOrw@l6aKHg~Ip9GDyyJi)dGLtL%G0M7c`grL z$b)zCpd=qo3+P<|{6wbK=`nk+6u|2R;3$OEg>bGA9xZ}@m(g>@I#X*g6cj^cG4vM0 zUlzlv`EZ@gkDIUS=*9~S^3?8P-knt@3k+kv;P6Bs@}*C1d0}qxWNz_f)??*!izioL bY19;6 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 literal 15939 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 NZi6&lhc+6@{{ir>|Kb1u From 81f02d1ecd4125d77e4008621ae582d30ba98d52 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Tue, 7 Jan 2025 22:46:13 +0200 Subject: [PATCH 20/20] test: Add negative examples --- .../sap.f/test/sap/f/testsuite.qunit.html | 16 +++++++++++++ .../sap.f/test/sap/f/testsuite.qunit.js | 21 ++++++++++++++++++ test/lib/linter/snapshots/linter.ts.md | 8 +++++++ test/lib/linter/snapshots/linter.ts.snap | Bin 22739 -> 22874 bytes 4 files changed, 45 insertions(+) create mode 100644 test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.html create mode 100644 test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.js diff --git a/test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.html b/test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.html new file mode 100644 index 000000000..1da383824 --- /dev/null +++ b/test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.html @@ -0,0 +1,16 @@ + + + + + QUnit test suite for Todo App + + + + + diff --git a/test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.js b/test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.js new file mode 100644 index 000000000..b52aea177 --- /dev/null +++ b/test/fixtures/linter/projects/sap.f/test/sap/f/testsuite.qunit.js @@ -0,0 +1,21 @@ +sap.ui.define(function () { + "use strict"; + return { + name: "QUnit test suite for sap.f", + defaults: { + page: "ui5://test-resources/sap/f/Test.qunit.html?testsuite={suite}&test={name}", + qunit: { + version: 2 + }, + sinon: { + version: 4 + }, + ui5: { + language: "EN", + theme: "sap_horizon" + } + }, + tests: { + } + }; +}); diff --git a/test/lib/linter/snapshots/linter.ts.md b/test/lib/linter/snapshots/linter.ts.md index 5706a637a..2738ab7a1 100644 --- a/test/lib/linter/snapshots/linter.ts.md +++ b/test/lib/linter/snapshots/linter.ts.md @@ -2289,6 +2289,14 @@ Generated by [AVA](https://avajs.dev). ], warningCount: 0, }, + { + coverageInfo: [], + errorCount: 0, + fatalErrorCount: 0, + filePath: 'test/sap/f/testsuite.qunit.js', + messages: [], + warningCount: 0, + }, ] ## lint: All files of mocked minimal sap.ui.core library diff --git a/test/lib/linter/snapshots/linter.ts.snap b/test/lib/linter/snapshots/linter.ts.snap index 8297428b4cf3213db4feeb5a7eb261063c978f0e..119160eed4a15b62597607a1190621e97e04cbcf 100644 GIT binary patch literal 22874 zcmYg%Wl$Z#wl(etg1fuBdvJGm*T4zxE`cPt1$Pe|{NNVc-Qf`2A-I3s`_+5(rdF@o z-8Iu)^JAvF*4kTASCT@@#RBMV@9II}#f<_BHG~V&)pL(<2V*-qxdJ`3#Q$Z6fh13+ z6~G8V*`#u1eMZ44Axh&o+;MH((1L|(`BLCHVP*# znx55o>ovnu-l%fCN>Y6K{Fws!v#$dUjYQJ@XDo`y8`;lTil!*Y32^d0<7qR;aUIN6 z`dr^G`nT-u-t5i=?>D*cbNxqiOmfKb+|4da;~6Qvhl@_l%6w8oP92hUeRs{LyZ8^$ z{cM6kL-;7U!DVB#(YwijgI}QhH#-o~4_*maj*Wy&CwT`9xZR*|O0U$MoS&4W;m}f1 zy&xKddJ?!vXczb{v=_W#4vAJuMFvl!1JeOQE`p}9>}(P=KC}vgdbFrpgkkOsj^bS+ zuADAdMTv7=KA-jgg8E-B9E0a2%%LIdpwXoRKx8l%wMfDSZM5}NCXJdw`#PCTJIV1( z(6<=+bs{}ur|M2c4hC;#$x!KiNkNFGe>-CLfRMaPsiYfmz!Zr$`>H`f=wz&-`S9Cl zr;YIw^B9y)|5>dH_PQD2S1c6%!^%YOUzBHLup;Im>;w=e1fM}Dao(N_v`c*04hQq) z*G$IIO`^2GSWcE_v~Y{WME&SfE%u+=V`~daS`YvHk4ppt9QZ;hX#-XYO-rNL?<>>s zn)VpUIeSg$9x{=Gtipn`BG7p-&LyfS_fBjd(g;mC!+GIHHR0rA(cS!*1hlsMw87lC zWJlC^-E#$Ng_Fn=n;v$Ns->mlnb5At{c zoJt|ZM-=DImp1*|&R}uk+)+G=Bcb6vL7)JlSTd~ILC=^V42=}O()eE}uTjd9HT=VP zG~uRq#0@piCy~I;&BG1fK9h!_Go8YFXMNc_iww#w zI9#(9>-egbrtI`eJ||Y|9JP`khjIQwkH##0*Nbs8p?&N(T=A?6tu|9@r)I?koFF8v zvw*c;?_Adp_ja_~5PgI+R_<$50JMJ#R;7>;3WJHF#FbDgA0wFCi#12f#E?laFpw;L z_cpRvRmP2xl6Ly!j;V(8Q}VYsd@V;TPF%u431yS69-@^McN&cq4Cx@`)glaCodL4S zv^2KlN!9efZ|>d-t6!d>y{CUSyBy7yXr`YcGcEMZ9S8sOYZ)u?QTx_8u!Vn0NKvPD zRBI}N?7VRpvPLHR&$^{;7n`jN%1rWlz&s(@w(cT4W^kn66`8Uh3Q@V2;^uwq$+?hD-o6-2?W^#@Te3C{MA1OWvY1LL9Yn=IeP(ET9?V6RRMn@{W=0- z<7Rwf9DYQ&5vnuGrOC}FxR=W}>{g#$3oY=DGp+0pu0DAkf%V->3G;2ii`ieWohL@{ zig8@#yJ9%|0Q$=OUe$Mk(Wl(ko1AA2Lm~Jf%COpKEmM3y8mF|w=Q1*st^OhN%Ms>n za%I#6rC$ONz$T#HUoyyYr}pJ_J;AyyS4#^lozD(?_9;(+AiHj1NY5$d&+uQRYL%3J18 z^=@s#%`&DM#arky$AvT|y}QWIVy-0;yv&N8O;|}Ax#p(_eG9PKQi>cnYs<0ga8Dwm z2zsYe#>Tqk8kf4lA z=9<(8&wgjDObg32Ts=?R*!)Q<#Z;PN7Wds!h))hyXl@?~SL-Pxq7QIPM!#UKyD%FK zxcmwmK=;cpcKMEcVSere;fx@k%@56-SAQNm^i@{CIYNzCQWQ$xAxy$e#WM%lg|GKO z`7#ijg(G|ot%YVrTQ_{~yX`|IVUR;q@GlD^lmG^JGVFK+7P*RD7V4JiE<3tQjz2W# zuyK8+PeE8(RQ|zO*AxCb$%Lm)ab4X z%osANV5@^gO?FB$(1{_kuE+oUcI=oC>n#9DR<|*$xp?gxkE-DYSaZRVttv zI8i$AFkClJFB-Qqk=j6t^Q;OZT?0yxIAbX+Y;46=t%m@tOYkrmk)q(^pp4)ik$EpL zb#5_6SG8I4GfIoYg%4x-2>|#V`kW{?%uhl~ogIUroQry#zt4{v{Nu75^UWcmau>z1 z6S+CF$0}^BaMRs=zVpI|sl1vIK2=+Cufq&?-lf(rVHb_DhEh+BZVXI0G!>o{E3E8duCzcvSu4V+(j>ZP71y#@{F5FJRS z3}Z5Q4GWpwnmHt|ispip^f^Sf13T};ypu(7E^j^kQu1r{>c)b)gZN(c6xN-Yy3oKx zU_vme57YzIr6k5$S%qHuqR)b%_r|LJqEKh$-+%HduPuvl@t>>se14%@}>l)>c!RQ%48t{A;lk`;# z0BPL@kUTsF(C6>Csx5s@x(|)K6__uC%p!J?-3FBGfYn(@xC7ALkSot^EPWOd!}H*2 zs9&sI+TY~?7BC61J;}c>?uR|P%<*_|7uvPy86o_H^SX!XF`dN)X-4zmfep&VJm<^g zvM?%zO7)nQpd%TL$l}_*{&hK~oM9ENJF^#*i|&^R5c&el1)MkbzOO>I_!w|ZE|@*0 z2MngkZkNT`QO_sC@~nHer0svB8zum_8wyy7RmY-G>$k60E=6bjyEPC4S&28tqY6pv zCqhL9flBBiRDM_NGm^n6u-(I<{O;zmY>fwf1;$`Dy^xw|N%1UHv(d=B{l2VL3YG9& z2VgG`bekgL>mQzn8y+7=qL;5kyQZ%XQ6M0v^5o5JtUqPhteIy}WJv*Mr_Q(_G+(73=Dg2s0%lP~nr_*KHJykUr zE1ll3&>%apmYMjEPggg>S7Se0%#{Ih?UNExv~kgb@j__jb#eHsGYE^TT@#(D%40mp z_h$Sp=+Ag8;uW=Zv+~p_-pUzip%b7%ZsM$dCD|&Dsq;;}`}mb`=PYIB+RHr5H;Z`h zx7^i3s>F0%X^|inH0dMd;E`w1!A&UgK9Bfl#oCD``ht*&slOV-6Y1mPFj%X_gvj4j zg~Pw~>J$Ld6|lRh{+-9I`GuN@Om^7FG^NFK<>Xv5?3jP{;3wQ+{EyCuufAjQt;9uf z%yFCt?u=y7M78wMpJBN#n2QcB?Xbr!dMVKR-yI3@HVH)i=Za%&YPm*p9jU#*os=cQ zpW<{qs`W(3wq(uBda7=m#J#icTI$`EPea%1t=Pi#WAT6L&1~rE|9-D;cRw#5YVrVTgHOH79rQw^NS`)U=_97I|0m~=BF-)~ z&JU?2E@it;b7D^@ZXq~Id$e6{u;wX#@Pd|l-}^_(zmDP;S>byt>RrAd0dfA`{#J(3 zQ|J~q4v~Nb)aL^G;4Y!3?JQo`u;^NxsclDEF#GOxbT?PHfC-1|eD*m3XPK2XD^uKo z_Ee$w9~L^VX3k9!441t0;Tc;FXr(ZJ-NXmcYY23xPut=7b)@fQs_&)BcCYePFZpvYMlgej?^MQE#|<|>5F?8M4o2I%cp z`m*UJB?cS3uYUlo9uzQNyOCA)6@Dr_ri(WgnCiE>A)>YI2&@K+cj?BZjvr_ zbTj5?yNL8NRf$WUI;&tq^lrB3^s((GHy=3)uQnw4+K_A%hKi7XDCJcIXh1q2f3+}w z|ACbbFw82mdGcjg;NNh1?H&i*X52Dhyk>kUXL0AHh1n&Vg(_)g2(l&G(Wo>&H*a!W&Pzp zW~{`A1o^(3dz1$~_zWh*qg4M#QG8WJ9rHkp!r#?Sw91r}sg5RUci`-yh_-FGm8LwYqOR7-HBI zGb?)NeCtgDXub;Z@COhKROAqhGChihXzdop5kO#3C7kvVn@o<_X z;oQp}U0&Q%nk0eejqAkni=j?g(^0smVV0QDNAP~k^G3y5RUL03e8PJwcg%aLb_{={ z=K2kKk)qFH> z9+a~e11mK3>0)RvK8KL1EFOv7&6Z3AwVe5Vg3#0nPVeJ+48DGuiOV|M2Sx7UW(gyu z*_-^b#-3lSKvUH9H@003%%p;A1+WjMaVyff3EY-G+}>|sF!M{jPROdqbZ|>p1z^9q zca{%a0myZNy|#qTEOD}5vCQZu;A4x*9RMaGjVwqSruY1#1=%5IH^8|VP)U>?iH@cB zEtWtGP|{f=%~&IUjhSC_L1&hQ`=v>m6B;+5of{!Aj#(_YA+h1-KMEb*j%}yyT|Vwz zhVQ92z}(e@VAOuf9}qe$VuoDdURL2=?xP&qM?0-;$9O>-7KXo-lA1b4r=)Ut(`I*L zb+uu=)oX@KPD?iENxm`ZgHf7)e|+S<d;k95z}k2^WCNG zk2_Bw+$WGD&&z*80>PppjiwC-J;iJ8AP12k>Cl_@fAipn?YjDW4ejH zZy(#@A_h1Tb2)}BDTZ7lsu04q$T%FW8a9;&CoYC;8jPRhUk_za8ZP3-6>w$!a5Qp> zaeJi&H%vsjn>z;yorCFJLt_wv#mj-F&xQ`=h8q^@tlxqiyYI;r z1x}KIZQ`K}YQsHpkwxwLZ0!0r?D~@JP!a$_!?#@PRQ>oi4|Qn4>F~p{q`M=k54Q9j z^T-vd44xUz!C%8B;1}4S>kSZBmf)Y;A**Z;%J>28N+HfOl0nM=@r$UI zwgNC>rXSp}F6r(W8An^eJb-x}m}wN^JSXXR-`CeUU59^n5s7hzOR?seFn1?;AO7)vpYrXF^Gm}Mygo5~%n}ZKl@!?ilN(r4RbSeWWhN%*=a-nu`Yh$mi$4_?M39z|@BUl3I8E7Z##thq2^IW@>jNp$w=lYT#5}pPGcwse2D@0=^*Hr2bg6bWp-cz)a_w@iz$+~DUw;| zr=TE89Amg8Gq|lb`H;I~qNh=r%cbuW2bLf+G-7rLpcP&6Z^0wy;mt+@_0|(Pf)~9u*0ntN>~X|sT;2Ka*fY7v+jy#&5lma%jb*IYmtGrjrq}DMhdhmOm`~n`a^8i~<%Rol z%!Cw(^ma+f&}JBtTNKXLMwDg(C^G>>*F;^I0t})pRxEl?o&!3E9tfj*Jqg$Z&|1i& z2Av@1P7wMfq-E5blP9%zvQ(Fa6#qrcNSzK3+|NH@4|0J&E;XFA<0Ild=?SQe?13U zaGG5Q!KQnI+TR3my|>{{hCXE_Z!l2XDdi6cCS-{HJBUDpC5ku5@kf1MCEI!|f1}|Q z!bZUx$lsY}P=mJAHe$nTx(bd5F`f2PB!l!!L%0!^13X%ElIT!tGv21vay|9L5$CALHa z%-#*7Hb z6`-i6McNixBY#ShVtyuO*s8=h2v}kn1@I`?Z^~I>VSgc)sYB_Hjj%k{{mg7NTA{ed zMMd@8bMZIR_Mei{_&7HE@4pq2d!k_se+PKzV>0k)agv|5zo$>115}(uwl&>{@=~xC z1X4V2@=XO zmK`bVHhM?6{qx;0^|sfC`RD7@Kc&hwvKv2#UIc6`^n?EqaRBhPQ#x9<(IXa zVzZ?X$7ey$3USx#DnBP5Y*w`LTN%t`WyO)SEv+X8H+BQr_xoBgMNNI6A~`_IwLADm zgNnMEIwobGUQqGay{hzOb2t0vUk=7ADg$K)(y5KVH0ulWT+hl=Os#;B*WUh!0j3wF4S`5yPayCHr?S8X`8 zbHByT0Z}+BHhCeWF#;8TBRj=nK+oPo8S(hu&S?s%y+O4N^pNYeDU_kCs=>qIb7|Ip zB!^m6p0cWyPwO+)SYn=;g6KR#%@s07{fj4x6-)uODwSwkzeT6@1x1X$Uw!>!T2))y zup}eoa<~X++$2p2$Z=GiOQ0GtO`l)GM>84??5xxTu9TqDTE@F>bxESwM^;9Q;8(RQ z@y`qH3tD%tCH~m*{W?oHD7eB&`pGCc+s1eh?&r5vSeI7a&T}NSo(gELI9QsQAv-&) zpEHGeQyN+_H*?tgt7IQo+UeJtEu*L5Vi_SP6cZ~X>$d!(a9l??MgHA=D8aR5s}@do zr1vmp2YO|$YYks@A7}Dw-Qnfvx5A$}@ct zjo_qmu@!@1lj!IV+3l8zXe@u4>e_a~JXp}xd%24c?Hw;@`TQJdBy>9MZG#v=wG~kl zC~VdJ`=4+7`o@>fULP(=Rii?Q+;FLhP(rD&Xi~L*-C_nXocc`N$m!nK`|sv+o_j z;eJMHHei*NV^mtl38r`||K}H2>GgITLC8PS8=I$}1DdOmjtWzGHRT}!49+uIg@l?M=w0*U^HvfLU=TQL*IGk=d zFDAC5eBpWbh=TytN{@7c$Q~ z!G(%qvL41wb2ABKc2!Xq15qc`shbVr%wmLR$_lMphg(EzyWunKFy16_H-;@?j+h0t z=r+6LzVBwV`D98$xWV>5WolUnlGsCXY|e+;MALYF&~Exr08^ud18*aV-KDyE5+!#^b^A;zWcCO-_^t8)Rl>r-|sp(B3{4 zHDp`y>OzA?24|?XO$!U{5&|T?WIsLh4kUR}GG&vNY6mYFGZLX?$7WMpJ0l!f1BZC6$}&&$i(IL}W*IDBMk_N92B|GPT* z1|CzQnQ^^UH!8pi6e+~eF69&$3LZW=WY-Bl6R&$;ui>j`q@Uc?;NG=z9KHFCtRkCO zeSFMzheWgcO|o9)9}{8;NF~40?~uO#7oNME_i zUoTjbBGgYJ-!(iE)V@XT;#F}@y5l^d$b*n{n)M?u;~VEE)`hyNt=d?loZ!y8h$71J zVQ9N4zV5$2zlkl=MZyG*UU7Idf0-SO5#~}Y+|L-{QT+4G>1)c1ZT*j=^3ymD#iu^< zNWP zlV0DblQ#F$vrgR}%=^yQ^l-_lEXFi%BIr-)5A`}qW_A!a)CpG1zhlLtxM=M|Pre>Z$y_R+yvz zg}iOx_&Hj*2UfA19g=D+W|!wDZI2PZi#||PZd!OorlwQTcDI6+qqX1_|Mv|2R$eKc zE%i9g(U@%S53!$@^DV&JjpP-aTQ5oy@82Rl1p7RrncOsa~lfJr*0Kex}qtu<(KkjZQ#7Bux(XA9L*C} z1=QkM>P1Q7gI(1aYuf!AY@6F@xDh4=!Kq>_B@u&xge9MtZ`i(yKjVHAkvS@vmQ8wTw;CD{Wty_9SRjY$VQB}#n%B&5l4q(b7y_cOrmaVPmZ)|yHfPQq%r%Cu|`Czm}j~fbQS|4P$aS6YnOyPl2Dvl zGU;743VjDqc{9L)8ehGhr82G<=GasEZ2DOD`T<+D(0O1))3}qq9yeGSxmAj6Z`v<@ zjo2|+D4;X87_S~(mWv(D*O^YIB2VAUOuh-N{AU`8W_6EOlkj2cYcH7@gU?$Io2Nl= z{oWECON7!VLjYYIwe&T9m*0%+=jtKp;&tup z4xbcl2s~*?$T)g}i6PGjJ`+&1vI6}`(LZ433#%ZX7@32rzJ`s(PJK_qjVCkoNs$1n zzx3qYb@l?4#9c`|0k;SAlnu;#`SprJr)$)6gbD+i6Gk zd&0)mF$|){u=!vfdzpIXABKs}E9JN&T@xSlR;R(7Bsx)yJF;mx8*6Q5`$54IIE+a- z791}_IFABGfHYlh7XJPtTY)9CJdXY`TaK6~qi(oL`Or+9$Q-w8S%Ud%R>{d-;r4C#$8>Ps(-Epv*I zMKbPWU0<+4avIcI5^gT2ulBbEqt-8kvXb6V9%#eT@XaIy@8Vu7hszTld4*`wBM`f& z!7t;nZ4WRfDVahvd1=4V5r_`<&KhZ2mh`3%4J-mH_6vGzJVe|sgc_UAnyzZn@n|B# zoX$848N;qmjjLc9;g%1&?K9%WmvF5w)2`u0UoIm6ECw9>N+C6iO9A6yDh80rFy;nG z0gI0)YJEd;Dr*zVc+{e^04MQN!*-mrj~MYLPJyuJw1FT8JL0N)&o9{YgPtWfNV;H* zlaC{_ksJNisMn#*%lNtm`_7W`XWMAg!LcH{yI4$aX0qk@gcUB)hRW|ppG^Gk4_gB* ziq~VEe!% zGTkCN_GEldQajJtXbI{s08bs;r5jvacYlZWxT*J5*PDMPw8LwhYw!G`ju}$|57hpU z%$xirrdcykbc^X`BC1?dgkpbnlX&I)ZD)mBGk3^7R`H6Z>RnnSKVq}fIU<{AM(rTk3a9uD?Y4% zF7H|*&K9fr_B!M$SwjI`=H5WcJn;?*6uBLeSg%u2YAfD1;+vaqf}}+@u3tsU{P4`k zIKL}6FV6idU?5k#ma}N6nTU>j1o4O`PWW+PW=Z^M6C-cl?^k$)j3c^=-5m7GJOcG8 zvQtBV1rh>#{g0P30T0?@0es|S_}_48DfoLkJJSLt4fDjAtWJHCYtcKH5h6-tbNi0GB)`%+oBObr!9SKgCjshfWebf$rSp?(L1@)#6 z<%;xYk&dF-fX0>qPKk0CuW$TwISYxhvl5IYDU}l-5+qLnVulXImVvHiiMWjfX;HY% zPTR?q;SaK;@#CP_$!#sV5Poko!VI@|(l|})mTzzms{f$3$`9Jdck-H?7|6`I?)&>K zhg;O^V&*TwfZliBSRGoT0a4ly;T%$$L;yL$0+{C(K;unKLnZ1V*#3dKpPYu8!hk}t zbNsR?#64>Z@V^=-xEtf9Z%Tz+iesTNV{mnHJMt|qu!F(BgeY>qM!GIFxtjh;Rw zfXp@Uw#u1z|6HH7$DfK3Z3~Q(eV!F0I;$PWEWT?)C{N@G(VB%KPy3IweP6sxOpT#` zFo?vGS4GM|mVrwCfn3zQEL8XsP&3a_sHGmGkK%T$Cb%7ElM#NXqZl!EZNK;2_fs}v z^g-{%fn<=uEbKrjm%cFqeY&I>p@=po_$m1>bx{D5C_% z85fifv#8S}#|&x5g<+9He0GBG(17+$Ro6pa((c^R9fknneW~{V=(Mu%4KDKY42<}R z=)B43DER4CiIBY$b9|PNF}$7)RLBTCP!V9PLERJU2~u0=3Fp0326Sk`78pMG{Dxwl z>FqK_-KvaCckFeJUOT-cZHLM#2!G8ZeY1@wL7W$WC?LK}Q1;j!o6jBRm!oH%nA?$d zXd=?y!YI%7t{z*+h-PbG*e!&&LK6|gEgO?M>%nHvLPZlnq7cdrkjhwb%u9rp5%K!q zQMZdwx5rQ|?5K^W8G81Q%*mZ1{E4=MiMCsQs?WjM@gaj0Nl!cIz{SX7n{e^`k}lkh z{HP!%Qe~H@b6YT&@Z3478E<)ws;ANu#B2!3#Pi9A?^=NAl>shM{Z}tvrSfsa>;NMv z{{|{D8_zKH;2jQGGm9*vOf~i~{{~7Di>%Z2kO(c`uR-X)T*?wF8=)<+M$zM=f`mv< zTfT3X3?#I{DW>-nDM3io%Er<>-HcsQ-ENq&!!jIdhm|S%NqNC zon7{NJphGYnn;UNVXAcyjq0!#Yv7g?1zc$ZylG#QBASlO2dc~`ne^*XRE^<-HQ!BH zd(w`~$MpI$7a+!fgPJHgz5XgH=T`Kzb_A3qi8-R>Is{W=*a0W_WhT;UPgWK))Uw*h zx2A-4^wlL~kmu85GkV)n@4yLU(i3DZn%!m^@_VUw(iG#MHd=VGKYf0Pzo!xa;~b8@ zzYcW{0FEGl-C-M@;qGOjn>7&I1E@(hk?vh1%J}-$RX|qBP-~UpXIpTH{JlT3AO$KQ zmk-|o&wTA>t7QT>Wb5P1{o=tb(A<;D3gg_4?sbj__CZ~5g70dBuW#uq{0-wAjqWw8 zD`3SOV9vbWf%^u=wROfeZ}$WZtmOw1pROR-xrV!b3Fntt9ud+X@k(g!uRjBhdiel_ zMY>Hwa=7+>^8Oc|0lrp%a1G9hDgQK$s~kD4tVgh=_74xiOo1rekwUQUAe}?1p9H4G ztk~tVG!4FK-EWMe`BoPh-djKd97H#f@RMYY zPSnLBnSFKkw;Vqz$uBA_3_CW;3B`^W;620JHfoV!I%!}G&Ywvd>S`JB$U@@2az7+) zXN(4?_~bt{YxG^+v4ua)bo;DKaK01{O=wrtRcKm`(73eomz|xNUM}h8 z>RnnjP(ijkKuq_jm)`F&Ab{o}_hIk4PN79~X6)cfHA6IR>;QR+FOcQQ1?E~tt&#b< zZsbA4_7QJs@E@zJCSSbCpsl;Cajc9LU^;=t#F7T=p@3#Bh?EVxPBhW|0Hf{@a!13M z*|ZB_>)#zS;PVJ;zDCc>~JM)l;1?4X5s2XmPI1i zewO9Pj1Zfa`Lr)aKi2k<{~WYMyiLjZrGcsNOI)!<-}id?eIFJ2 zwoc8wc7=h8xze$X-+H_TDqkzL~YNklvC6dWy` zzIB+EGB6jp%O%V#MoSUD#zg}+asX}5R^Kkllv~6(>LLSsDAy_WhJ7D-^4>}(TB(~v z#V$pSAlW}OQ%;Ng+*I8D?IC@U|_38}w^Px1i@XLCR_{aGuru%8oTa$v8cLqP0 z1NuAIc~~{_MLUD~Qym>e5+l~HJQUB0X}V8!v=m9qSO&=`S(+9t64tBJRYTlbh-Gw- zweuNV`CIxB8PsBZiyGW@-G^@(Vusyle&Z-+4SlZF zm#)m&xd`M~T5@Ga=J#d2)DD-OJP%q#)hf}jmaF!GpOdp@x0^kDcu0d%(0K`gnHgL{ zN_mr%ux!I2@wPqb+!W&2i{Fk4Z;@3}l$XC0 zMdGMft+Hk_hf5nbb_mN2@pLx4Jmnm{@8G4nOxw-SZ{cp+r`jGi?4E4R>48Mk0JuWF z>aop@NK=e;^z|%fIU>frtF6_z8+KUX*+*DUsg%$*N^;V2;(zYpX==6R`7Xn8A0v7) zCsF!TjCY949Favx|2euWf%#!GpAGwxTNtoUoT^u zh+D)w>LPO+;9eXtFI4CCEr`0EAO3|A=!qgiz$#eCrbTLb_Q?c`cWhEyfDsqHxNoB3 zGF9706t{k0mGTLO0)VG)9g58Y9ENEzf*j!am_!`^Gcky*=2$~fss={kvek#RQM}ZF zUFP>X>N{{*`MKx;t8@9n02j4z_HRx@hNL$K4wqRxKJvvQqM0anH9KQ++Le_f5si0L}n@J{B7H*;pE zaXQkS5n?;nGk!a8o1ko6y3nwE@%)k7ErmU?bxQfLR^el!Xl@?lObR0cztf17>&x)W@-gmEJ| z(Nuk}Z=clXFmI_RTt4t10(o;Uz4K*0pvyY^y{`A(`4W}5gW(hA&mV)`E0DZCDegF` z=k}Eh_(hhCH28*k1Z>5W$4+Hu1s%L)c$ht8B<&bhgB19&dh1D$#d_dQbZcVvPBiUwxJ!=vhHWg4 z(2qL!V(BgJH1~WgPUF$DS=PoduG!x(x#%nxeb2tVOzq%<%>EOt8-KZP6ymSD&i&6dBYLhigS=H!QVyK?kd^Rint z{#;&*`8uBugKtmLn@l7dF?d+Xu~~H@dORQ_55wttdo|!ewhLJG2x3?4>V4~J`y8UFGX=D`G-0M){)0IKeYPcR;@ZzuAy>a$P7r)K=#1)0m#LTlR- z9A50#i`X7xw2}c(wSa-{X$t=LZM6Y&=1_QAPz}wmRN*~u+Dk>`;;E2ILXe+qz4J0- z?L-K_oy3T;J`c9ngmN0P@E$Ag_6tjfFlyRVn3f%FRphUK$1D#+EDYHIl?IC;XK2mx z@ZG6ULU;2k5&>WIn+Z$`86o*ZxCUB%x?Tq?lBA@P1Jz$*_^}6{PmBe=vcVnDDNTG) zV2{k!1f};4YWje1-i%Qi22!rtMAp)5uFY>n4zm%-vk}GPN`IJ9?*}jKtu`~*fNIg$ z*u&LQdW~$R4bfdV5j)tnn)m*>2^gc_r}t~^sT)IgmxthR7PPY+G?#Q>;c53pDXKGV zGpAm9(awKU*kJaUb92W%t%eE4HP(TLUjXSUAJ?ckZ0G=T9l?b}=QU9_*S*Yio=YW- z&BmhSE*TgYQ_*(&QUfqP9?%_BbY4rTqACitq1i;`RiVFmL3$sLk41c`n-BYqhd1BX zX854bDq@BzXc^^YV(6rlLz;O88bc2f4p>8XK)1(jXgtv}$~z4aMHd)?ZV`a+qYu|& zn@`C3Mx`=PQ5h)q!7EIHvg<_;Pyc~WJ8NQu1{MG0X3U?94w`bE1pB((J+1EyWh{GC zDHg8be{)wN-)3B#rTGzT-ok&HPWn%wUhnQEuSC9p%v=3f=d-9-`mQzxst|73I=*(F z=|e$Ku)exW`d>h6`?{h8)0rD$${92*0gKMYfTB)^$@A~ZwnlBYsPMp!t^}gX9Ze|< zzYWs?+_gD2IkAp8V_1J9@a-`6-pZM@A1T_}$hTiaUW*Q2$_2kxFti@xO?69tpFcQ0MZeaf$=yhxl{~U%wzFBQDt5h^Ohb`gNoEN5FF(=HS zzB!m@==qDBFl8{EzNIR=DOP)-b;S@)?wHFb=E20P}F8>*FX{J-s`I@zn zvj(e}{;WQ4+qk*0vGdjYK0=XRmCQYPcqhq%G0TH3Uc4M~O>}_0)NMSI_iG_g@!aH?yyVPCZL`5?LZMx;ssvusAxoQy zHQ_Ig>_frvRchiPksA+Jn>mX$&K@^aDRqpUv5dN~8z#XdnG^D1TX3JPyf4-wMqG^7 z4ScG=*&!-ZVpHGYVzQ;!zE86)jfK;fddS2?BJKO6z5V;BSnXI54eD7A+R0er7>mIl zYs+^|-X3wL#vL=|!hXoiHwWjxVf5WUWU&K;SIhqvlvs77E_8vIG@2461PF935|=7x zjy3R&M(`6>TU?P=OVDK!bt|bh$WYDF+XA2+n%pF=%DeIfKfmX}%j>zw%g4{#+}!BF$L=vQsVY<93qnWRLw++Eg%1X+~&aQKP@6^%7aQV>D;cIhaoSNbH8CHMn72@Qd z+nijOGFW(WX@s9@~`m0<=dq9&yF-v0BaeV)Ncit^Mz z1LX1oBzl+}3D^3B@NZLNl&rgu#L$FraSXU#J&Xtva3Lk)NA(9fY(O8B8F$YGAi*L6 zS5|=5SL8)d7CepQO|-2*-C-T!hRuRc{prR6E@#F(Qb`#YkDSXX8B4hT4HM~!BP`Wc z-!+Pj+ZgYs^g}WcHM=auVL#G-SqPDE7cWr^PzyyQ2ZlX%+Mumy>l?9!-*K_$?^=1% zrey0O`Bq`un%k}!Zr{Cc?Uw}LMR5VYw;+L;7r;rNv2-K4I;YnP>V5W@;0qf( z@G10C*$R$tof>&pT<7I__nIy%?`l6#$wZw;5>x)OoV~C0vjO@ zWwm1+$IHn-caRuhGy35p5D+!H#R(eL%R zQ*jK%B8bwNB_j7TSpMc|!9P_OPx1?XgM>L=+)*_J81GgW(u%&jh zsu2vgpVBjnCD01jWeD@m7HT*Xsdu5%W`p1{9`ec!k>ZA6aOXQS=$UrvIoQ)>^J2T? zBEO4b&)W4q835%yjy_h|6hU>#gEz~C7ykvX)36=iK&f^!hufi8CV~||zL_HT_x}PD zVebES|0lMzT>QBG14Y4VzBH=;A02X*r*NBJcVB`Nf801?x6^#&8Nj{PYt7_!A9Rv> zzquGdSHm~Mmcf|x1VLa&CLz?iPfAVP5A=wWkatlaLbp8xO-vx+?jqEFRlKVAUp@4j zB~%vXsqC^19PiQA#z_259#>z3>_akUz4Ej@jM~i)(K?$gw_0Q|tFSVak2Lz-Ulv(} z>m%4OrZ!P0GBtifhIaRy*3y)m zz~>}DNyqEijL_E@&}BdsOe)1^JjE@iM%k_K3I%EM@M!f(g!dGgZkbL zwtw2QEsr<${wbxW(9MRJj!X|=qs$>3q_36>k{f52?xn|8^OG&Pbn-&dr?YE*Yu=R& zjqVk%r=w$(_218J*B&J>rcqDl^@-;|iw}qBardMl^V@|@ASlV`L2od2?0FCid;xX= z#0vL^$HJT%AjmT&5*KUtSu8%BsG9W_E_~&TfA;r#(63I-y#KhY<@`u?mW%Ev=?>`B0L8vaRB)V8RsE( zf5Lb`^;F8Z;>Mvzrr-$jU^z8+DVrj$i+J$5TV3d`R9pbT-d0X*C%gvbtr2U^MWrvw zZ;Hj2$$r%Avfr=u1uGu>n6ynA#z|q(cF21(=l%3b5=Fd?#>m#*Xn3UQ6vQ0;Le?@z z`tK&%=4F1+%lw1`ky56@7e zhN6W@g7U$|;i9p6$EZU+(!0$vccUAM`CJT$7b&l}14t#k=rx2S33ez?gDcTk zx*Jo2?Y5smwcQY%v3_G2;^G>iZS&(JnSb(7#0}MNFKDD_n9Xw!^YmWGA4aUU zmYu;jpq`oNqM{O&)UE6;OkQrS1YnZ1#NQL)HcW~J?^K+RMP#pPU7+ER-W=(d(j)1u zUXh5?;z#_QgdMdv9BC%?y1njR*(1e$ykaI+y*0Jv>GwoIl}r;f zm>_6^4<#?C@}LPmXM*QU@VW_RnBg=t91!iNdeiGIX1K!)kD1|DW-zC~iWE3Sw4drt zujiz|g(+}n3OtztFQq_fDl8H0r+U-to>Wj$;lfn-cq)7=71WY?b42^8uG*Ysr3Kbo zpvwZ6THt;QsHQ5TSQSNYwJndj`){zqJ}X>ng=ehrk_grB(K6CNb+>n z!MDYND%CpZpVQ#AG?dEaD8q^ryNuqYt*>j z?E&8bw`;%(_q);8R$-*&D#nY^$m-Y?>693wGe=*yV$lRMIzz{(5|UN@8RK!+=y~){ zFptF|kAr*hs?l?J&jfQ=631b9`zaiAe0}sRK0n!5jMj6DvH14rSu7fH>5*w;!{bbm z$F;K8*{`}J#kg!7eF2h>jFijq>PR7C@r$Ep@rNVsNYThMLLPHe9@TpDJ~{5Y`09u` zJ8n)j5*=m?x|gVUb9RDzIm18q81@lIzHnYL-EMHDZE%wf z?zF*uHu$^^p0vT!Hu#ARUa-NRg<3EL2^uj!!Mz0u?$rv7xBklp@7N$MD{^WvCky6h zK~om2NLZvL9aWL3A)s36luHImr>G|%(H+j)S=tV#C0pC!1hTaq&i&ci4(Fw8ZHF^2 zC$huIFc{9rA-0{mB`0!LlwmMDr(R}+FSFIECz+Asquj{cR?m;r%dE)BQEqq^hL4Wa z%bdv3ky`d7H%u?`&iz_Nl=}uMqP#dwW2JPu#>(l_HCAq(uCeli=@C|}21`~R>5c0sOK6x(ngI z#3)By$fD)*h45G*{JaqUQ3&gb;Q1oRNgldbR}9U?u&WsS#qfA>B!uyDv0%vzy$eqX ze5M4RE`gUzpkfBxG6SAU9`*S04EW0ou+4<(nXqpr+&L4zCq_N$t82bG6aFz1@@GN) zEI1ggPEsjWC7G>*uA2>8X2ZVOaOu0(Ppf~=fpf&D$2mIaN9Mp?bKr?N@XI;SAi?(~ zFp4Ed^kJH%bD?T3tep#;?_S@d{#^Y5q%NTFP6hs%i)*h@UL>%Tmic(;Ucl*NSO}$@k;nq zC493IepdSbyd;(!Dc3=*)sR&UHPx`b8vd&q=FW#5V*L`@HHl`5NkD94mZM$ zjqpe#JlhC!o8Wg%U~3kjjXG#;Gc0U|9nH|&3{Nz}MJ;fDivVpJ%8Zi0W?hoNW-T7o ziZ*L|qB81(Z27zT{l}pXc5VXMh=tij*{spaChXYMB|9U>9T978Z?DfAw66_k=nE+> zb>DM>d%*BMJdxR|f^M%Wv^(kwp;GIOr#8Iv;z5vV$?Xk>6xo&Jgy5JTE+so7u1h52Ui(O=YG7d8 zHP{zbOB*86sR=v3yA+o@@~S0HpG#Rb@T%=@=RPH{#1Z~kJ+^W90)rk>+cNl}=pjpR zA_OlcGl&8snG}!A#DCJn3-2})_%xDlVzq};! zD?O6@b{+KX>Tw5Ly6n405Ms6_#KuLc5GOzmi6YL5lE|S#FNbJYS^Vc|n6fxI>6hu~ zK1vh%Jxa7V5*L+IQXQ^T*Cdc?vaC8yiC0n^Jf1!^>vTwQZHWLo+-D6}7xrsHZe1h_ zd1%7J75dQV3GDcYedV|Bk*?sYr2 z%iYQ@)lI2Apvc1$vGI8{88UEfewEd><6M|LVMsWalOF9$;I zF4-9hs^0mL_xS4OiOKK?ArTM~#wbgUW1T4+EdN4q_r zL^4SfT##(*V^5mRW6z$*4RwM{XXSgPm)=59K+2N74dwW>YB0Znq&ryhT(RNKcIx;-lo!cjbZO>OVT@y!|k1bvcJzA zP&)d(&Z+(xB0SI@2@hQB_9&9CFBG#}Xld2dAL8Nz^>Kk&&&0(A8f$=tWO08HuhAu1 zYPN&X;K5sg$AA}59lOD9NF1N1IjHY2OiBm!Uc#jFu->Wpaw+# z!2qus220;8NG)LZBOmK$@ z9y7sDO;BluSJVJWG15^VB)KpJT2tV}6bPok6De>}D%>wdI_j#=Se{OWAEd&osbI6f zZVMDypekjHq>O(VMPXjf#PH{RkrNc$(ur34q zV)~pk9rT(ExG4kvI|II(0i~Jn`%K6Z)90k?pfL~noi^}BJ>xIVf(OL(IT=UkqBpfM zo~&QTsg3bu?U|{K@#O21sg3dE>yxRC@p0KTQyb&S+&fbn<72cjZXQnl@jkaboNhHy z8gffV+y>d)2($sKfo;h)%8~uoDO!S@8wV2Pe3w|!PfLaYat+{kcPF^r00#{4umQf4 zWczG2Sk#2%ud9z4p)pz;{1ziTA|@r*@7#W5gkKopO(V=S!AcWc9WDBuXb+`r+P`g@ zJgGXuohU}mzi1kDMm=5nPr-o$VmB)L= z#MoDQ=@4IOr?1zpt|3AJU!S@(@%1Wp+3$~hwVmNCf~u!qm%Cg4vEKMt+{Ze{1?&Yv zz`4K`fcg#oDDY|EbN}Doxd*p()p`7*$d;dR;wF}xw_+!LB#~tKA-|INU0Y4_plLfm zq2=1Tc9q(?Lb`Gq(wR&j&<9XTDRkPhLp!?}+H?yk9cE!zDCH4Y%Fqo1WI8ZB(gC`K zu)A~$WtZK+)#F+|*SS}b+&XFePsY)?zjN>Rch5OG`kiw=Kj3-b`@kvSG;juZ1F+jH zzTA_rg$g|m8?fnL?sv}6@1C2X-~G=F{jP0^9*2$0(C?m_q2K*xiOz=DXxG^g@3HG_ zh==St8{&s{oeijf$o*YZUkvVI*i{T#uJ{Lv;Y2a~QZzNv7VITZQUdiQFj4~H5;$H0-xH(CM()9x z5_nAm;gv#jDZH~3?kj~SM3SA6K=AzxhI?fhw3k7s4DJvE(nfyXXUpK}GI*g3&S;mH z!$>)diW%dL=i@(E4j(RuC(Ge`im~htgXzRlm`V{}G}6ltQ*f19F_yjE zV0uLbTvY)FD&Qj(@P!J{;3-ZqgM5#{v}+mkE`uAE!I5Qf^zVQFd>OnUnqFZrU9&t1 zobOo<(sH4`~beX>DyQ^49i_1=hAP zrR^qpQVSA!hxYpiw9W9IMU&Bc-oyDT{Ne&Dbk0(k_&1i8cQSu@XL4?y;*a#Cul8d|Dhr%++D*ro#2uvfUK)8ww*CS^NJ%66KR z^@?tJS2f&N4WVjKtKo?7fPE&F4V#pWn3P>9dgk70xL>&OE|UuOi2de~YIv*~jtQ0Q zoqK2U7prF{TzsWE9iy$iTu-=|EV|+HbkWDfqHpO%XJ?9%(b=w5>7w{5J?MLUl^*o{ z-6}okTen&d`bw+ypzo(wCxgCv;>S~~(=}GC(Q6!9qt|%rnq-Z-!Lw`92CvQ-Y+S1w zymPH?ki6x`)}{?ktkn%{>vV(d>-1;VSh3n|bccRnUD~0^oBw)Ux-Qpxy{_xm>ver< zy?*m#*~#^@-$?m}bOpm3(#u$dw{L*EH^37c;KT+vE%IiK8-bs8!Lu$n>4GyZ*u4>c zyb%gTXsmHJ@8%lVS_6R^kZa&;HSpIO*d{__4ZC>@ud0QsYav<-_t(NdizbHDn}r%z zc48CUwF!=Hg6B6`rgMpGhUv}l;AS|!860&mSO;pIWy;M5>)??(_);DGs1DrqaC1F8 zDxztPnP9$B56{=bFY4ic>*1OPc%T8kA);xGDK}522)2$!sA+`5jqv40_>V@*l$#}6 zVA&RMZ-KxTcybH;b_-OCXj&smx_v9`*b3Kgg@aq+-?u`=HrOemX^kl98@54k8{D2k z)c$E3w7MbawnRza>4tmV@Pr$_<%YE$c((`c6{)sHl=LwV9QVKvJn*Uq2E1^a7oHKR zwg!~64R_j;58A1Yv2VtRy4z^W@vAQ z{mt;ZW?0i=#R_(Gw?JPD+}Hw#TcENP`a}S(ffMYIT4ACUKG+J6w?bzdgxbs#0TtUE z_q4&s+TiIn__sFL?}s}?X0F>{_K$ve(huM9!^?g++zwBPyj+jL?1gqX*$)5N4rLwi zcn6&9umTx7{<{PI+yPac;Om6Lo$&ciOD6D(o$%vMc&!tbb;0|(;P+jyw%d{kyuBOx zyWxG^aBDYIZHNEc4(=W1OyFW$(e53ve+RsO2Yhq~_;2pKy z?IC!12+j_{-Yej;Vdx$fOot4n*AIg<3`d6H(P8+*Fl-xv_lyXpR~bxi9f8|N;IR?- z*AXZSKp+5z0)pv2gXzNo_)Gx48i1Dq;Jp&2u7rQMQZRjoVfib+OvoEewnkXcm6sfw zk4(rDvZ}4D$YFI*4#z_3p+wX=nHyQF%rhaYdk==?sJ^h)(CC@ls3E_c$Y#Jf(TUlgn?|JFp+rb3JmE_1UR4#> zzT^#dr#6zB?hb8gYHw)|`p0~u9sbtfSc{hDRUU8i`+dIFPTyE-7I|KidfcgftMjls zN2Gsd`n}Y`@0|l$8&j3cy*cCY@R%00bJa_#DvjNAjkcLr+wGEM1NFyMRms-jZ|Nqc z{Ccw4F{nC=p8ViE_2k`JNZ7jXCN68J3Hdt0HCBB#Kc|?Tb`hI^=#=~B$thRMF(n=y zll$Z0;G~?&`krus$55K*5GF3uWXdhE=t_PwqS5GNA`$Av(T~i1Bz~)9`bcapZ|mX4 z+)d(Huthh`=_c`s&j+h^3AxD(rRcPpTba6PLRS0JgHwa1GU+1E%;(u1+PRRtWtPcf z)ncOxpTiZIZrWhsrVdj#X~W4!35TlU7)U_wMJB2P|gKVp?}*QlbX8hJkAibzpuN}KI=x$3ne2JV;? zamPdMXljNW)vm1XPBVu`W!J%INLA&qONz~H;ZB;&v!85v`bo@$A^Pb+j($?Yp>Rme z%0Wulow)V_^Gwy7)Ply8sfeUrCr4u;C7hLmk{0gil*t9=C#xCLbdG)+*FN4G(Z;Rp zI$FZOt)wh2FfUn6zZb`&WSJG}_|hGZtnxE0jz`&z+n3IGWEO<=T6k%WlmTgsf{?1x zLRr;pWvNQ$VUoPmL|wOqI-gm1F)6Rjn;s}*-UHdP)8)RzQcJ35XsMA}wQW+BYdnF*(8Mh{_Z3Nhzuo%i*9L9t&xgFI;8>u~TI_d&I)ohptVF z&vbXXm$~X=hr(kwMU`;q1Bw03S};2K>qH61)M$K6RigUw@8o80MeAnX=~nOFK}nSo z(d&9wL!zw9Ri7wzPq)@*2}t=m;#>3inmkR(7dQ9Q%{+Z5=2Avu%A~ByTKYuSR6Lf5 zlq*x(pb$(FRJ4lv_61x~d0dXlT0Vzt5;U0Vt;N z{k=cY0T&y{o7h0izI?8>7%|#SbE(8bo`h;oLbWI3jb}GVzt^;q>~g1^)BMeGb$;uP z;>YUonKfn888cI zzXviRW&=v}A|#LGVu1K9ZDSI&c{bh+2Zxi%R83{S}#wgkyRwVB^&Hh>bIu%!dwJ8ZIp*A88F7!oQhp8I6rK70BcTJlibUG{Vv|C(Jt$o3bzevqxT zKtB|x6eJJD726!g3gCDF{2-Mlqqz{qEpuf!K2!)FDTHH%aH0^FJ77@cs2LBc1s!m} z0e3s#pB(VI18ysVXGD&gG3~_3A~;n9uNOgOF&xu?XeICsk!WT_u$?Y}S4zN93N@wh zLMc331}}?PvT}o|y&Ou)p}rgj%Hff6SicnZh-|T?hK_C?#unj1=kwj!U=hZil)}O3 vQ0xP5UJ!dRM86oKU+{?RVu=0{jKD62=ocHvVu=1N2+{uyF}{Ry_(1{yD7zsp literal 22739 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