Skip to content

Commit 9c224a6

Browse files
authored
fix: unexpected Java 8 expected error message eclipse-che4z#333 (eclipse-che4z#396)
fix: unexpected Java 8 expected error message eclipse-che4z#333
1 parent 204b97a commit 9c224a6

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

clients/cobol-lsp-vscode-extension/src/__tests__/JavaCheckTest.ts

+20-2
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,29 @@ describe("Checks Java installation", () => {
6666
await expect(promise).resolves.toEqual(undefined);
6767
});
6868

69-
it("when required version is not supported", async () => {
70-
(cp as any).spawn = jest.fn().mockReturnValue({stderr: {on: stderrFn}, on: jest.fn()});
69+
it("should skip not relevant lines", async () => {
70+
(cp as any).spawn = jest.fn().mockReturnValue({stderr: {on: stderrFn}, on: checkFn});
71+
const promise = javaCheck.isJavaInstalled();
72+
map.data("Picked up JAVA_TOOL_OPTIONS: -Xmx2254m");
73+
map.data("java 11 2018-09-25");
74+
map.close(0);
75+
await expect(promise).resolves.toEqual(undefined);
76+
});
77+
78+
it("should skip not relevant lines and fail", async () => {
79+
(cp as any).spawn = jest.fn().mockReturnValue({stderr: {on: stderrFn}, on: checkFn});
7180
const promise = javaCheck.isJavaInstalled();
81+
map.data("Picked up JAVA_TOOL_OPTIONS: -Xmx2254m");
7282
map.data('java version "1.5.0_22"');
83+
map.close(0);
84+
await expect(promise).rejects.toEqual(expectedErrMsgSupportedJavaVersion);
85+
});
7386

87+
it("when required version is not supported", async () => {
88+
(cp as any).spawn = jest.fn().mockReturnValue({stderr: {on: stderrFn}, on: checkFn});
89+
const promise = javaCheck.isJavaInstalled();
90+
map.data('java version "1.5.0_22"');
91+
map.close(0);
7492
await expect(promise).rejects.toEqual(expectedErrMsgSupportedJavaVersion);
7593
});
7694

clients/cobol-lsp-vscode-extension/src/services/JavaCheck.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ export class JavaCheck {
2121
}
2222
public async isJavaInstalled() {
2323
return new Promise<any>((resolve, reject) => {
24+
let resolved = false;
2425
const ls = cp.spawn("java", ["-version"]);
2526
ls.stderr.on("data", (data: any) => {
26-
if (!JavaCheck.isJavaVersionSupported(data.toString())) {
27-
reject("Minimum expected Java version is 8");
27+
if (JavaCheck.isJavaVersionSupported(data.toString())) {
28+
resolved = true;
29+
resolve();
2830
}
29-
resolve();
3031
});
3132
ls.on("error", (code: any) => {
3233
if ("Error: spawn java ENOENT" === code.toString()) {
@@ -38,6 +39,9 @@ export class JavaCheck {
3839
if (code !== 0) {
3940
reject("An error occurred when checking if Java was installed");
4041
}
42+
if(!resolved) {
43+
reject("Minimum expected Java version is 8");
44+
}
4145
});
4246
});
4347
}

0 commit comments

Comments
 (0)