From c843455579afdcfd25c390eb5dd46b93bca70b43 Mon Sep 17 00:00:00 2001 From: "L. Sousa" Date: Tue, 28 Jul 2026 18:23:58 +0100 Subject: [PATCH 1/3] Restore test --- LaraUtils/test/pt/up/fe/specs/lara/LaraSystemToolsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LaraUtils/test/pt/up/fe/specs/lara/LaraSystemToolsTest.java b/LaraUtils/test/pt/up/fe/specs/lara/LaraSystemToolsTest.java index b637071dd..80f81ca4f 100644 --- a/LaraUtils/test/pt/up/fe/specs/lara/LaraSystemToolsTest.java +++ b/LaraUtils/test/pt/up/fe/specs/lara/LaraSystemToolsTest.java @@ -126,7 +126,7 @@ void testRunCommand_withNullTimeout_handlesGracefully() { // Given String command = "echo hello"; boolean printToConsole = false; - long timeoutNanos = 2000000000; // 2 seconds + Long timeoutNanos = null; // When ProcessOutputAsString result = LaraSystemTools.runCommand(command, workingDirectory, printToConsole, timeoutNanos); From b2b0aed8f56666ef601073c65367ec4bc191e6d1 Mon Sep 17 00:00:00 2001 From: "L. Sousa" Date: Tue, 28 Jul 2026 19:05:10 +0100 Subject: [PATCH 2/3] Preserve enum values in TypeScript interfaces --- Lara-JS/code/generate-ts-joinpoints.test.ts | 34 +++++++++++++++++++++ Lara-JS/scripts/generate-ts-joinpoints.ts | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 Lara-JS/code/generate-ts-joinpoints.test.ts diff --git a/Lara-JS/code/generate-ts-joinpoints.test.ts b/Lara-JS/code/generate-ts-joinpoints.test.ts new file mode 100644 index 000000000..3d0710016 --- /dev/null +++ b/Lara-JS/code/generate-ts-joinpoints.test.ts @@ -0,0 +1,34 @@ +import fs from "fs"; +import os from "os"; +import path from "path"; +import { generateEnums } from "../scripts/generate-ts-joinpoints.ts"; + +describe("generateEnums", () => { + it("preserves the enum values from the language specification", () => { + const outputDirectory = fs.mkdtempSync( + path.join(os.tmpdir(), "lara-build-interfaces-"), + ); + const outputPath = path.join(outputDirectory, "Joinpoints.ts"); + const outputFile = fs.openSync(outputPath, "w"); + + try { + generateEnums( + [{ name: "StorageClass", entries: ["NONE", "PRIVATE_EXTERN", "STATIC"] }], + outputFile, + ); + } finally { + fs.closeSync(outputFile); + } + + try { + expect(fs.readFileSync(outputPath, "utf8")).toContain( + ' STATIC: "STATIC",', + ); + expect(fs.readFileSync(outputPath, "utf8")).toContain( + ' PRIVATE_EXTERN: "PRIVATE_EXTERN",', + ); + } finally { + fs.rmSync(outputDirectory, { recursive: true, force: true }); + } + }); +}); diff --git a/Lara-JS/scripts/generate-ts-joinpoints.ts b/Lara-JS/scripts/generate-ts-joinpoints.ts index 9d6dbe111..e65555c3f 100644 --- a/Lara-JS/scripts/generate-ts-joinpoints.ts +++ b/Lara-JS/scripts/generate-ts-joinpoints.ts @@ -207,7 +207,7 @@ function generateEnum(e: ConvertedEnum, outputFile: number) { */\n`); fs.writeSync(outputFile, `export const ${e.name} = {\n`); e.entries.forEach((entry) => { - fs.writeSync(outputFile, ` ${entry}: "${entry.toLowerCase()}",\n`); + fs.writeSync(outputFile, ` ${entry}: "${entry}",\n`); }); fs.writeSync(outputFile, `} as const;\n`); fs.writeSync( From 9cfc957e75ba1e1c0dfa9e17807f61fc504b9150 Mon Sep 17 00:00:00 2001 From: "L. Sousa" Date: Tue, 4 Aug 2026 14:57:41 +0100 Subject: [PATCH 3/3] refactor: simplify enum generator test --- Lara-JS/code/generate-ts-joinpoints.test.ts | 27 +++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/Lara-JS/code/generate-ts-joinpoints.test.ts b/Lara-JS/code/generate-ts-joinpoints.test.ts index 3d0710016..9976c1152 100644 --- a/Lara-JS/code/generate-ts-joinpoints.test.ts +++ b/Lara-JS/code/generate-ts-joinpoints.test.ts @@ -9,24 +9,21 @@ describe("generateEnums", () => { path.join(os.tmpdir(), "lara-build-interfaces-"), ); const outputPath = path.join(outputDirectory, "Joinpoints.ts"); - const outputFile = fs.openSync(outputPath, "w"); try { - generateEnums( - [{ name: "StorageClass", entries: ["NONE", "PRIVATE_EXTERN", "STATIC"] }], - outputFile, - ); - } finally { - fs.closeSync(outputFile); - } + const outputFile = fs.openSync(outputPath, "w"); + try { + generateEnums( + [{ name: "StorageClass", entries: ["NONE", "PRIVATE_EXTERN", "STATIC"] }], + outputFile, + ); + } finally { + fs.closeSync(outputFile); + } - try { - expect(fs.readFileSync(outputPath, "utf8")).toContain( - ' STATIC: "STATIC",', - ); - expect(fs.readFileSync(outputPath, "utf8")).toContain( - ' PRIVATE_EXTERN: "PRIVATE_EXTERN",', - ); + const output = fs.readFileSync(outputPath, "utf8"); + expect(output).toContain(' STATIC: "STATIC",'); + expect(output).toContain(' PRIVATE_EXTERN: "PRIVATE_EXTERN",'); } finally { fs.rmSync(outputDirectory, { recursive: true, force: true }); }