This commit upgrades TypeScript to the latest version 5.3 and introduces `verbatimModuleSyntax` in line with the official Vue guide recommendatinos (vuejs/docs#2592). By enforcing `import type` for type-only imports, this commit improves code clarity and supports tooling optimization, ensuring imports are only bundled when necessary for runtime. Changes: - Bump TypeScript to 5.3.3 across the project. - Adjust import statements to utilize `import type` where applicable, promoting cleaner and more efficient code.
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { ShellScriptSyntax } from '@/application/Parser/Script/Validation/Syntax/ShellScriptSyntax';
|
|
import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax';
|
|
import { BatchFileSyntax } from '@/application/Parser/Script/Validation/Syntax/BatchFileSyntax';
|
|
|
|
function getSystemsUnderTest(): ILanguageSyntax[] {
|
|
return [new BatchFileSyntax(), new ShellScriptSyntax()];
|
|
}
|
|
|
|
describe('ConcreteSyntaxes', () => {
|
|
describe('commentDelimiters', () => {
|
|
for (const sut of getSystemsUnderTest()) {
|
|
it(`${sut.constructor.name} returns defined value`, () => {
|
|
// act
|
|
const value = sut.commentDelimiters;
|
|
// assert
|
|
expect(value);
|
|
});
|
|
}
|
|
});
|
|
describe('commonCodeParts', () => {
|
|
for (const sut of getSystemsUnderTest()) {
|
|
it(`${sut.constructor.name} returns defined value`, () => {
|
|
// act
|
|
const value = sut.commonCodeParts;
|
|
// assert
|
|
expect(value);
|
|
});
|
|
}
|
|
});
|
|
});
|