@usethesource/rascal-vscode-dsl-lsp-server 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- *.jar
1
+ *.jar
Binary file
Binary file
@@ -106,7 +106,8 @@ class RascalExtension {
106
106
  iconPath: this.icon,
107
107
  shellPath: await (0, JavaLookup_1.getJavaExecutable)(),
108
108
  shellArgs: this.buildShellArgs(compilationPath, serverConfig, ...extraArgs),
109
- name: `Rascal Terminal (${projectRoot?.name || "no project"})`,
109
+ isTransient: false,
110
+ name: `Rascal Terminal (${projectRoot?.name ?? "no project"})`,
110
111
  });
111
112
  terminal.show(false);
112
113
  progress.report({ increment: 25, message: "Finished creating terminal" });
@@ -1 +1 @@
1
- {"version":3,"file":"RascalExtension.js","sourceRoot":"","sources":["../src/RascalExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RascalExtension.js","sourceRoot":"","sources":["../src/RascalExtension.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { ParameterizedLanguageServer, LanguageParameter } from "./ParameterizedLanguageServer";
1
+ export { ParameterizedLanguageServer, LanguageParameter, ParserSpecification } from "./ParameterizedLanguageServer";
2
2
  export { VSCodeUriResolverServer } from "../fs/VSCodeURIResolver";
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/lsp/library.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,yGAAyG;AACzG,6EAA+F;AAAtF,0IAAA,2BAA2B,OAAA;AACpC,6DAAkE;AAAzD,4HAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/lsp/library.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,yGAAyG;AACzG,6EAAoH;AAA3G,0IAAA,2BAA2B,OAAA;AACpC,6DAAkE;AAAzD,4HAAA,uBAAuB,OAAA"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "parsing",
10
10
  "source code analysis"
11
11
  ],
12
- "version": "0.10.0",
12
+ "version": "0.10.2",
13
13
  "engines": {
14
14
  "vscode": "^1.75.0"
15
15
  },
Binary file
@@ -1 +0,0 @@
1
- export {};
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /*
4
- * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * 1. Redistributions of source code must retain the above copyright notice,
11
- * this list of conditions and the following disclaimer.
12
- *
13
- * 2. Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
- * POSSIBILITY OF SUCH DAMAGE.
28
- */
29
- const assert = require("assert");
30
- const fs_1 = require("fs");
31
- const temp = require("temp");
32
- const jd = require("../../auto-jvm/downloaders");
33
- const mocha_1 = require("mocha");
34
- const path_1 = require("path");
35
- function emptyProgress() {
36
- // no progress report for tests
37
- }
38
- (0, mocha_1.describe)('JVM Download', function () {
39
- const tempDir = temp.mkdirSync();
40
- function testTemurin(version, arch, platform) {
41
- return async function () {
42
- const newPath = await jd.fetchAndUnpackTemurin(arch, platform, await jd.identifyLatestTemurinLTSRelease(version, arch, platform), (0, path_1.join)(tempDir, "temurin", arch, platform), emptyProgress);
43
- assert.ok((0, fs_1.statSync)(newPath).isFile());
44
- };
45
- }
46
- function testCorretto(version, arch, platform) {
47
- return async function () {
48
- const newPath = await jd.fetchAndUnpackCorretto(arch, platform, version, (0, path_1.join)(tempDir, "corretto", arch, platform), emptyProgress);
49
- assert.ok((0, fs_1.statSync)(newPath).isFile());
50
- };
51
- }
52
- function testMSOpenJDK(version, arch, platform) {
53
- return async function () {
54
- const newPath = await jd.fetchAndUnpackMicrosoftJDK(arch, platform, version, (0, path_1.join)(tempDir, "msjdk", arch, platform), emptyProgress);
55
- assert.ok((0, fs_1.statSync)(newPath).isFile());
56
- };
57
- }
58
- const downloadTimeout = 60000;
59
- const testAll = false;
60
- (0, mocha_1.describe)(`Eclipse Temurin jdk11`, function () {
61
- if (testAll) {
62
- it(`Mac x64`, testTemurin(11, "x64", "mac")).timeout(downloadTimeout);
63
- it(`Linux arm`, testTemurin(11, "arm", "linux")).timeout(downloadTimeout);
64
- }
65
- it(`Mac aarch64`, testTemurin(11, "aarch64", "mac")).timeout(downloadTimeout);
66
- it(`Windows x64`, testTemurin(11, "x64", "windows")).timeout(downloadTimeout);
67
- });
68
- (0, mocha_1.describe)(`Eclipse Temurin jdk17`, function () {
69
- if (testAll) {
70
- it(`Mac aarch64`, testTemurin(17, "aarch64", "mac")).timeout(downloadTimeout);
71
- it(`Windows x64`, testTemurin(17, "x64", "windows")).timeout(downloadTimeout);
72
- }
73
- it(`Linux x64`, testTemurin(17, "x64", "linux")).timeout(downloadTimeout);
74
- });
75
- (0, mocha_1.describe)(`Amazon Corretto jdk11`, function () {
76
- if (testAll) {
77
- it(`Windows x64`, testCorretto(11, "x64", "windows")).timeout(downloadTimeout);
78
- it(`Mac x64`, testCorretto(11, "x64", "macos")).timeout(downloadTimeout);
79
- }
80
- it(`Linux arch64`, testCorretto(11, "aarch64", "linux")).timeout(downloadTimeout);
81
- });
82
- (0, mocha_1.describe)(`Amazon Corretto jdk17`, function () {
83
- if (testAll) {
84
- it(`Windows x64`, testCorretto(17, "x64", "windows")).timeout(downloadTimeout);
85
- it(`Linux x64`, testCorretto(17, "x64", "linux")).timeout(downloadTimeout);
86
- }
87
- it(`Mac aarch64`, testCorretto(17, "aarch64", "macos")).timeout(downloadTimeout);
88
- });
89
- (0, mocha_1.describe)(`Microsoft OpenJDK jdk11`, function () {
90
- it(`Windows x64`, testMSOpenJDK(11, "x64", "windows")).timeout(downloadTimeout);
91
- if (testAll) {
92
- it(`Linux aarch64`, testMSOpenJDK(11, "aarch64", "linux")).timeout(downloadTimeout);
93
- it(`Mac x64`, testMSOpenJDK(11, "x64", "macOS")).timeout(downloadTimeout);
94
- }
95
- });
96
- (0, mocha_1.describe)(`Microsoft OpenJDK jdk17`, function () {
97
- if (testAll) {
98
- it(`Windows aarch64`, testMSOpenJDK(17, "aarch64", "windows")).timeout(downloadTimeout);
99
- it(`Mac aarch64`, testMSOpenJDK(17, "aarch64", "macOS")).timeout(downloadTimeout);
100
- }
101
- it(`Linux x64`, testMSOpenJDK(17, "x64", "linux")).timeout(downloadTimeout);
102
- });
103
- (0, mocha_1.after)(() => {
104
- console.log(tempDir);
105
- // do the rm in the background, since it might take a while
106
- (0, fs_1.rm)(tempDir, { recursive: true, force: true }, emptyProgress);
107
- });
108
- });
109
- //# sourceMappingURL=JavaDownload.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JavaDownload.test.js","sourceRoot":"","sources":["../../../src/test/normal-suite/JavaDownload.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,106 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
4
- * All rights reserved.
5
- *
6
- * Redistribution and use in source and binary forms, with or without
7
- * modification, are permitted provided that the following conditions are met:
8
- *
9
- * 1. Redistributions of source code must retain the above copyright notice,
10
- * this list of conditions and the following disclaimer.
11
- *
12
- * 2. Redistributions in binary form must reproduce the above copyright notice,
13
- * this list of conditions and the following disclaimer in the documentation
14
- * and/or other materials provided with the distribution.
15
- *
16
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- * POSSIBILITY OF SUCH DAMAGE.
27
- */
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const vscode_extension_tester_1 = require("vscode-extension-tester");
30
- const utils_1 = require("./utils");
31
- const fs = require("fs/promises");
32
- describe('DSL', function () {
33
- let browser;
34
- let driver;
35
- let bench;
36
- let ide;
37
- let picoFileBackup;
38
- this.timeout(utils_1.Delays.extremelySlow * 2);
39
- async function loadPico() {
40
- const repl = new utils_1.RascalREPL(bench, driver);
41
- await repl.start();
42
- await repl.execute("import demo::lang::pico::LanguageServer;");
43
- repl.execute("main();"); // we don't wait, be cause we might miss pico loading window
44
- const ide = new utils_1.IDEOperations(browser, bench);
45
- const isPicoLoading = ide.statusContains("Pico");
46
- await driver.wait(isPicoLoading, utils_1.Delays.slow, "Pico DSL should start loading");
47
- await repl.terminate();
48
- // now wait for the Pico loader to dissapear
49
- await driver.wait(async () => !(await isPicoLoading()), utils_1.Delays.extremelySlow, "Pico DSL should be finished starting");
50
- }
51
- before(async () => {
52
- browser = vscode_extension_tester_1.VSBrowser.instance;
53
- driver = browser.driver;
54
- bench = new vscode_extension_tester_1.Workbench();
55
- await (0, utils_1.ignoreFails)(browser.waitForWorkbench());
56
- ide = new utils_1.IDEOperations(browser, bench);
57
- await ide.load();
58
- await loadPico();
59
- picoFileBackup = await fs.readFile(utils_1.TestWorkspace.picoFile);
60
- ide = new utils_1.IDEOperations(browser, bench);
61
- await ide.load();
62
- });
63
- afterEach(async function () {
64
- if (this.test?.title) {
65
- await ide.screenshot("DSL-" + this.test?.title);
66
- }
67
- await ide.cleanup();
68
- await fs.writeFile(utils_1.TestWorkspace.picoFile, picoFileBackup);
69
- });
70
- after(async function () {
71
- });
72
- it("have highlighting and parse errors", async function () {
73
- const editor = await ide.openModule(utils_1.TestWorkspace.picoFile);
74
- await ide.hasSyntaxHighlighting(editor);
75
- try {
76
- await editor.setTextAtLine(10, "b := ;");
77
- await ide.hasErrorSquiggly(editor, 15000);
78
- }
79
- finally {
80
- await ide.revertOpenChanges();
81
- }
82
- });
83
- it("have inlay hints", async function () {
84
- const editor = await ide.openModule(utils_1.TestWorkspace.picoFile);
85
- await ide.hasSyntaxHighlighting(editor);
86
- await ide.hasInlayHint(editor);
87
- });
88
- it("save runs type checker", async function () {
89
- const editor = await ide.openModule(utils_1.TestWorkspace.picoFile);
90
- await ide.triggerTypeChecker(editor, { checkName: "Pico check", waitForFinish: true, timeout: 5000 });
91
- });
92
- it("go to definition works", async () => {
93
- const editor = await ide.openModule(utils_1.TestWorkspace.picoFile);
94
- await ide.triggerTypeChecker(editor, { checkName: "Pico check" });
95
- await editor.selectText("x", 2);
96
- await bench.executeCommand("Go to Definition");
97
- await driver.wait(async () => (await editor.getCoordinates())[0] === 3, 15000, "Cursor should have moved to line 3");
98
- });
99
- it("code lens works", async () => {
100
- const editor = await ide.openModule(utils_1.TestWorkspace.picoFile);
101
- const lens = await driver.wait(async () => editor.getCodeLens("Rename variables a to b."), 10000, "Rename lens should be available");
102
- await lens.click();
103
- await driver.wait(async () => (await editor.getTextAtLine(9)).trim() === "b := 2;", 20000, "a variable should be changed to b");
104
- });
105
- });
106
- //# sourceMappingURL=dsl.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dsl.test.js","sourceRoot":"","sources":["../../../src/test/vscode-suite/dsl.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,138 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
4
- * All rights reserved.
5
- *
6
- * Redistribution and use in source and binary forms, with or without
7
- * modification, are permitted provided that the following conditions are met:
8
- *
9
- * 1. Redistributions of source code must retain the above copyright notice,
10
- * this list of conditions and the following disclaimer.
11
- *
12
- * 2. Redistributions in binary form must reproduce the above copyright notice,
13
- * this list of conditions and the following disclaimer in the documentation
14
- * and/or other materials provided with the distribution.
15
- *
16
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- * POSSIBILITY OF SUCH DAMAGE.
27
- */
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const vscode_extension_tester_1 = require("vscode-extension-tester");
30
- const path = require("path");
31
- const fs = require("fs/promises");
32
- const utils_1 = require("./utils");
33
- const protectFiles = [utils_1.TestWorkspace.mainFile, utils_1.TestWorkspace.libFile, utils_1.TestWorkspace.libCallFile];
34
- describe('IDE', function () {
35
- let browser;
36
- let driver;
37
- let bench;
38
- let ide;
39
- const originalFiles = new Map();
40
- this.timeout(utils_1.Delays.extremelySlow * 2);
41
- before(async () => {
42
- browser = vscode_extension_tester_1.VSBrowser.instance;
43
- driver = browser.driver;
44
- bench = new vscode_extension_tester_1.Workbench();
45
- await browser.waitForWorkbench();
46
- ide = new utils_1.IDEOperations(browser, bench);
47
- await ide.load();
48
- // trigger rascal type checker to be sure
49
- for (const f of protectFiles) {
50
- originalFiles.set(f, await fs.readFile(f));
51
- }
52
- await makeSureRascalModulesAreLoaded();
53
- });
54
- beforeEach(async () => {
55
- });
56
- afterEach(async function () {
57
- if (this.test?.title) {
58
- await ide.screenshot("IDE-" + this.test?.title);
59
- }
60
- await ide.cleanup();
61
- for (const [f, b] of originalFiles) {
62
- await fs.writeFile(f, b);
63
- }
64
- });
65
- async function makeSureRascalModulesAreLoaded(delay = utils_1.Delays.verySlow) {
66
- try {
67
- await ide.openModule(utils_1.TestWorkspace.mainFile);
68
- let statusBarSeen = false;
69
- const checkRascalStatus = ide.statusContains("Loading Rascal");
70
- for (let tries = 0; tries < 10 && !statusBarSeen; tries++) {
71
- await (0, utils_1.sleep)(delay / 80);
72
- if (await checkRascalStatus()) {
73
- statusBarSeen = true;
74
- break;
75
- }
76
- }
77
- if (statusBarSeen) {
78
- console.log("Waiting for startup of rascal core");
79
- for (let tries = 0; tries < 70; tries++) {
80
- await (0, utils_1.sleep)(delay / 80);
81
- if (!await checkRascalStatus()) {
82
- return;
83
- }
84
- }
85
- console.log("*** warning, loading rascal-core is still running, but we will continue anyway");
86
- }
87
- }
88
- finally {
89
- await ide.cleanup();
90
- }
91
- }
92
- function waitForActiveEditor(title, timeout, message) {
93
- return driver.wait(async () => (await (await bench.getEditorView().getActiveTab())?.getTitle()) === title, timeout, message);
94
- }
95
- it("has syntax highlighting and parsing errors", async function () {
96
- const editor = await ide.openModule(utils_1.TestWorkspace.mainFile);
97
- await ide.hasSyntaxHighlighting(editor);
98
- await editor.setTextAtLine(1, "this should not parse");
99
- await ide.hasErrorSquiggly(editor);
100
- });
101
- function triggerTypeChecker(editor, tplFile, waitForFinish = false) {
102
- return ide.triggerTypeChecker(editor, { tplFile: tplFile, waitForFinish: waitForFinish });
103
- }
104
- it("save runs type checker", async function () {
105
- const editor = await ide.openModule(utils_1.TestWorkspace.mainFile);
106
- await triggerTypeChecker(editor, utils_1.TestWorkspace.mainFileTpl, true);
107
- });
108
- it("go to definition works", async () => {
109
- const editor = await ide.openModule(utils_1.TestWorkspace.mainFile);
110
- await triggerTypeChecker(editor, utils_1.TestWorkspace.mainFileTpl, true);
111
- await editor.selectText("println");
112
- await bench.executeCommand("Go to Definition");
113
- await waitForActiveEditor("IO.rsc", utils_1.Delays.extremelySlow, "IO.rsc should be opened for println");
114
- });
115
- it("go to definition works across projects", async () => {
116
- // due to a current bug, we have to make sure that the lib in the other project is correctly resolved
117
- const libEditor = await ide.openModule(utils_1.TestWorkspace.libFile);
118
- await triggerTypeChecker(libEditor, utils_1.TestWorkspace.libFileTpl, true);
119
- await bench.getEditorView().closeAllEditors();
120
- const editor = await ide.openModule(utils_1.TestWorkspace.libCallFile);
121
- await triggerTypeChecker(editor, utils_1.TestWorkspace.libCallFileTpl, true);
122
- await editor.selectText("fib");
123
- await bench.executeCommand("Go to Definition");
124
- await waitForActiveEditor(path.basename(utils_1.TestWorkspace.libFile), utils_1.Delays.slow, "Lib.rsc should be opened for fib");
125
- });
126
- it("outline works", async () => {
127
- const editor = await ide.openModule(utils_1.TestWorkspace.mainFile);
128
- await editor.moveCursor(1, 1);
129
- const explorer = await (await bench.getActivityBar().getViewControl("Explorer")).openView();
130
- await (0, utils_1.sleep)(utils_1.Delays.normal);
131
- const outline = await explorer.getContent().getSection("Outline");
132
- await outline.expand();
133
- const mainItem = await driver.wait(async () => (0, utils_1.ignoreFails)(outline.findItem("main()", 0)), utils_1.Delays.slow, "Main function should show in the outline");
134
- await driver.actions().doubleClick(mainItem).perform();
135
- await driver.wait(async () => (await editor.getCoordinates())[0] === 5, utils_1.Delays.normal, "Cursor should have moved to line that contains the println function");
136
- });
137
- });
138
- //# sourceMappingURL=ide.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ide.test.js","sourceRoot":"","sources":["../../../src/test/vscode-suite/ide.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,81 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
4
- * All rights reserved.
5
- *
6
- * Redistribution and use in source and binary forms, with or without
7
- * modification, are permitted provided that the following conditions are met:
8
- *
9
- * 1. Redistributions of source code must retain the above copyright notice,
10
- * this list of conditions and the following disclaimer.
11
- *
12
- * 2. Redistributions in binary form must reproduce the above copyright notice,
13
- * this list of conditions and the following disclaimer in the documentation
14
- * and/or other materials provided with the distribution.
15
- *
16
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- * POSSIBILITY OF SUCH DAMAGE.
27
- */
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const chai_1 = require("chai");
30
- const vscode_extension_tester_1 = require("vscode-extension-tester");
31
- const utils_1 = require("./utils");
32
- describe('REPL', function () {
33
- let browser;
34
- let driver;
35
- let bench;
36
- let ide;
37
- this.timeout(2 * utils_1.Delays.extremelySlow);
38
- before(async () => {
39
- browser = vscode_extension_tester_1.VSBrowser.instance;
40
- driver = browser.driver;
41
- bench = new vscode_extension_tester_1.Workbench();
42
- ide = new utils_1.IDEOperations(browser, bench);
43
- await ide.load();
44
- await ide.cleanup();
45
- await browser.waitForWorkbench();
46
- });
47
- afterEach(async function () {
48
- if (this.test?.title) {
49
- await ide.screenshot("REPL-" + this.test?.title);
50
- }
51
- await bench.executeCommand("workbench.action.terminal.killAll");
52
- await ide.cleanup();
53
- });
54
- it("should open without a project", async () => {
55
- await new utils_1.RascalREPL(bench, driver).start();
56
- });
57
- it("run basic rascal commands", async () => {
58
- const repl = new utils_1.RascalREPL(bench, driver);
59
- await repl.start();
60
- await repl.execute("40 + 2");
61
- (0, chai_1.expect)(repl.lastOutput).matches(/int.*42/, "Result of expression should be 42");
62
- await repl.execute("import IO;");
63
- await repl.execute('println("Printing works: <1 + 3>");');
64
- (0, chai_1.expect)(repl.lastOutput).is.equal("Printing works: 4\nok", "println works as expected");
65
- });
66
- it("import module and run in terminal", async () => {
67
- const editor = await ide.openModule(utils_1.TestWorkspace.libCallFile);
68
- const lens = await ide.findCodeLens(editor, "Run in new Rascal terminal");
69
- await lens.click();
70
- const repl = new utils_1.RascalREPL(bench, driver);
71
- await repl.connect();
72
- (0, chai_1.expect)(repl.lastOutput).is.equal("5\nint: 0");
73
- }).timeout(utils_1.Delays.extremelySlow * 3);
74
- it("edit call module via repl", async () => {
75
- const repl = new utils_1.RascalREPL(bench, driver);
76
- await repl.start();
77
- await repl.execute(":edit demo::lang::pico::LanguageServer");
78
- await driver.wait(async () => await (await bench.getEditorView().getActiveTab())?.getTitle() === "LanguageServer.rsc", utils_1.Delays.normal, "LanguageServer should be opened");
79
- });
80
- });
81
- //# sourceMappingURL=repl.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repl.test.js","sourceRoot":"","sources":["../../../src/test/vscode-suite/repl.test.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- import { CodeLens, Locator, TextEditor, VSBrowser, WebDriver, WebElement, Workbench } from "vscode-extension-tester";
2
- export declare function sleep(ms: number): Promise<unknown>;
3
- export declare class Delays {
4
- private static readonly delayFactor;
5
- static readonly fast: number;
6
- static readonly normal: number;
7
- static readonly slow: number;
8
- static readonly verySlow: number;
9
- static readonly extremelySlow: number;
10
- }
11
- export declare class TestWorkspace {
12
- private static readonly workspacePrefix;
13
- static readonly workspaceFile: string;
14
- static readonly testProject: string;
15
- static readonly libProject: string;
16
- static readonly mainFile: string;
17
- static readonly mainFileTpl: string;
18
- static readonly libCallFile: string;
19
- static readonly libCallFileTpl: string;
20
- static readonly libFile: string;
21
- static readonly libFileTpl: string;
22
- static readonly picoFile: string;
23
- }
24
- export declare function ignoreFails<T>(fn: Promise<T> | undefined): Promise<T | undefined>;
25
- export declare class RascalREPL {
26
- private bench;
27
- private driver;
28
- private lastReplOutput;
29
- private terminal;
30
- constructor(bench: Workbench, driver: WebDriver);
31
- waitForReplReady(): Promise<boolean>;
32
- start(): Promise<void>;
33
- connect(): Promise<void>;
34
- execute(command: string, waitForReady?: boolean): Promise<void>;
35
- get lastOutput(): string;
36
- waitForLastOutput(): Promise<string>;
37
- terminate(): Promise<void>;
38
- }
39
- export declare class IDEOperations {
40
- private browser;
41
- private bench;
42
- private driver;
43
- constructor(browser: VSBrowser, bench: Workbench);
44
- load(): Promise<void>;
45
- cleanup(): Promise<void>;
46
- hasElement(editor: TextEditor, selector: Locator, timeout: number, message: string): Promise<WebElement>;
47
- hasErrorSquiggly(editor: TextEditor, timeout?: number, message?: string): Promise<WebElement>;
48
- hasSyntaxHighlighting(editor: TextEditor, timeout?: number, message?: string): Promise<WebElement>;
49
- hasInlayHint(editor: TextEditor, timeout?: number, message?: string): Promise<WebElement>;
50
- revertOpenChanges(): Promise<void>;
51
- openModule(file: string): Promise<TextEditor>;
52
- triggerTypeChecker(editor: TextEditor, { checkName, waitForFinish, timeout, tplFile }?: {
53
- checkName?: string | undefined;
54
- waitForFinish?: boolean | undefined;
55
- timeout?: number | undefined;
56
- tplFile?: string | undefined;
57
- }): Promise<void>;
58
- findCodeLens(editor: TextEditor, name: string, timeout?: number, message?: string): Promise<CodeLens | undefined>;
59
- statusContains(needle: string): () => Promise<boolean>;
60
- screenshot(name: string): Promise<void>;
61
- }
@@ -1,241 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
4
- * All rights reserved.
5
- *
6
- * Redistribution and use in source and binary forms, with or without
7
- * modification, are permitted provided that the following conditions are met:
8
- *
9
- * 1. Redistributions of source code must retain the above copyright notice,
10
- * this list of conditions and the following disclaimer.
11
- *
12
- * 2. Redistributions in binary form must reproduce the above copyright notice,
13
- * this list of conditions and the following disclaimer in the documentation
14
- * and/or other materials provided with the distribution.
15
- *
16
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- * POSSIBILITY OF SUCH DAMAGE.
27
- */
28
- var _a, _b;
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.IDEOperations = exports.RascalREPL = exports.ignoreFails = exports.TestWorkspace = exports.Delays = exports.sleep = void 0;
31
- const chai_1 = require("chai");
32
- const promises_1 = require("fs/promises");
33
- const path = require("path");
34
- const process_1 = require("process");
35
- const vscode_extension_tester_1 = require("vscode-extension-tester");
36
- async function sleep(ms) {
37
- return new Promise(r => setTimeout(r, ms));
38
- }
39
- exports.sleep = sleep;
40
- function sec(n) { return n * 1000; }
41
- class Delays {
42
- }
43
- exports.Delays = Delays;
44
- _a = Delays;
45
- Delays.delayFactor = parseInt(process_1.env['DELAY_FACTOR'] ?? "1");
46
- Delays.fast = sec(1) * _a.delayFactor;
47
- Delays.normal = sec(5) * _a.delayFactor;
48
- Delays.slow = sec(15) * _a.delayFactor;
49
- Delays.verySlow = sec(30) * _a.delayFactor;
50
- Delays.extremelySlow = sec(120) * _a.delayFactor;
51
- function src(project, language = 'rascal') { return path.join(project, 'src', 'main', language); }
52
- function target(project) { return path.join(project, 'target', 'classes', 'rascal'); }
53
- class TestWorkspace {
54
- }
55
- exports.TestWorkspace = TestWorkspace;
56
- _b = TestWorkspace;
57
- TestWorkspace.workspacePrefix = 'test-workspace';
58
- TestWorkspace.workspaceFile = path.join(_b.workspacePrefix, 'test.code-workspace');
59
- TestWorkspace.testProject = path.join(_b.workspacePrefix, 'test-project');
60
- TestWorkspace.libProject = path.join(_b.workspacePrefix, 'test-lib');
61
- TestWorkspace.mainFile = path.join(src(_b.testProject), 'Main.rsc');
62
- TestWorkspace.mainFileTpl = path.join(target(_b.testProject), 'Main.tpl');
63
- TestWorkspace.libCallFile = path.join(src(_b.testProject), 'LibCall.rsc');
64
- TestWorkspace.libCallFileTpl = path.join(target(_b.testProject), 'LibCall.tpl');
65
- TestWorkspace.libFile = path.join(src(_b.libProject), 'Lib.rsc');
66
- TestWorkspace.libFileTpl = path.join(target(_b.libProject), 'Lib.tpl');
67
- TestWorkspace.picoFile = path.join(src(_b.testProject, 'pico'), 'testing.pico');
68
- const _DEBUG = false;
69
- async function ignoreFails(fn) {
70
- try {
71
- if (fn === undefined) {
72
- return undefined;
73
- }
74
- return await fn;
75
- }
76
- catch (exp) {
77
- if (_DEBUG) {
78
- console.debug("Promise failed, ignoring exception: ", exp);
79
- }
80
- return undefined;
81
- }
82
- }
83
- exports.ignoreFails = ignoreFails;
84
- class RascalREPL {
85
- constructor(bench, driver) {
86
- this.bench = bench;
87
- this.driver = driver;
88
- this.lastReplOutput = '';
89
- this.terminal = new vscode_extension_tester_1.TerminalView();
90
- }
91
- async waitForReplReady() {
92
- let output = "";
93
- try {
94
- for (let tries = 0; tries < 5; tries++) {
95
- await sleep(Delays.slow / 10);
96
- output = await this.terminal.getText();
97
- if (/rascal>\s*$/.test(output)) {
98
- return true;
99
- }
100
- await sleep(Delays.slow / 10);
101
- }
102
- return false;
103
- }
104
- finally {
105
- const lines = output.split('\n').map(l => l.trimEnd());
106
- const lastPrompt = lines.lastIndexOf("rascal>");
107
- let secondToLastPrompt = -1;
108
- for (let l = 0; l < lastPrompt; l++) {
109
- if (lines[l].startsWith("rascal>")) {
110
- secondToLastPrompt = l;
111
- }
112
- }
113
- if (secondToLastPrompt >= 0 && lastPrompt > 0) {
114
- this.lastReplOutput = lines.slice(secondToLastPrompt + 1, lastPrompt).join('\n').trimEnd();
115
- }
116
- }
117
- }
118
- async start() {
119
- await new vscode_extension_tester_1.Workbench().executeCommand("rascalmpl.createTerminal");
120
- return this.connect();
121
- }
122
- async connect() {
123
- this.terminal = (await this.driver.wait(() => ignoreFails(new vscode_extension_tester_1.TerminalView().wait(100)), Delays.verySlow, "Waiting to find terminal view"));
124
- await this.driver.wait(async () => (await ignoreFails(this.terminal.getCurrentChannel()))?.includes("Rascal"), Delays.slow, "Rascal REPL should be opened");
125
- (0, chai_1.assert)(await this.waitForReplReady(), "Repl prompt should print");
126
- }
127
- async execute(command, waitForReady = true) {
128
- const inputs = await this.terminal.findElements(vscode_extension_tester_1.By.className('xterm-helper-textarea'));
129
- for (const i of inputs) {
130
- // there can be multiple terminals, so we iterate over all of the to find the one that doesn't throw an exception
131
- await ignoreFails(i.clear());
132
- await ignoreFails(i.sendKeys(command + '\n'));
133
- }
134
- if (waitForReady) {
135
- (0, chai_1.assert)(await this.waitForReplReady());
136
- }
137
- }
138
- get lastOutput() { return this.lastReplOutput; }
139
- async waitForLastOutput() {
140
- (0, chai_1.assert)(await this.waitForReplReady());
141
- return this.lastReplOutput;
142
- }
143
- async terminate() {
144
- await ignoreFails(this.execute(":quit", false));
145
- await ignoreFails(this.bench.executeCommand("workbench.action.terminal.killAll"));
146
- }
147
- }
148
- exports.RascalREPL = RascalREPL;
149
- class IDEOperations {
150
- constructor(browser, bench) {
151
- this.browser = browser;
152
- this.bench = bench;
153
- this.driver = browser.driver;
154
- }
155
- async load() {
156
- await ignoreFails(this.browser.waitForWorkbench(Delays.slow));
157
- for (let t = 0; t < 5; t++) {
158
- try {
159
- await this.browser.openResources(TestWorkspace.workspaceFile);
160
- }
161
- catch (ex) {
162
- console.debug("Error opening workspace, retrying.", ex);
163
- }
164
- }
165
- await ignoreFails(this.browser.waitForWorkbench(Delays.normal));
166
- await ignoreFails(this.browser.waitForWorkbench(Delays.normal));
167
- const center = await ignoreFails(this.bench.openNotificationsCenter());
168
- await ignoreFails(center?.clearAllNotifications());
169
- await ignoreFails(center?.close());
170
- }
171
- async cleanup() {
172
- await ignoreFails(this.revertOpenChanges());
173
- await ignoreFails(this.bench.getEditorView().closeAllEditors());
174
- const center = await ignoreFails(this.bench.openNotificationsCenter());
175
- await ignoreFails(center?.clearAllNotifications());
176
- await ignoreFails(center?.close());
177
- }
178
- hasElement(editor, selector, timeout, message) {
179
- return this.driver.wait(() => editor.findElement(selector), timeout, message);
180
- }
181
- hasErrorSquiggly(editor, timeout = Delays.normal, message = "Missing error squiggly") {
182
- return this.driver.wait(vscode_extension_tester_1.until.elementLocated(vscode_extension_tester_1.By.className("squiggly-error")), timeout, message);
183
- }
184
- hasSyntaxHighlighting(editor, timeout = Delays.normal, message = "Syntax highlighting should be present") {
185
- return this.hasElement(editor, vscode_extension_tester_1.By.css('span[class^="mtk"]:not(.mtk1)'), timeout, message);
186
- }
187
- hasInlayHint(editor, timeout = Delays.normal, message = "Missing inlay hint") {
188
- return this.hasElement(editor, vscode_extension_tester_1.By.css('[class*="dyn-rule"'), timeout, message);
189
- }
190
- revertOpenChanges() {
191
- return this.bench.executeCommand("workbench.action.revertAndCloseActiveEditor");
192
- }
193
- async openModule(file) {
194
- for (let tries = 0; tries < 10; tries++) {
195
- await ignoreFails(this.browser.openResources(file));
196
- await sleep(Delays.fast);
197
- const result = await ignoreFails(this.bench.getEditorView().openEditor(path.basename(file)));
198
- await sleep(Delays.fast);
199
- if (result && await ignoreFails(result.getTitle()) === path.basename(file)) {
200
- return result;
201
- }
202
- }
203
- throw new Error("Could not open file " + file);
204
- }
205
- async triggerTypeChecker(editor, { checkName = "Rascal check", waitForFinish = false, timeout = Delays.verySlow, tplFile = "" } = {}) {
206
- const lastLine = await editor.getNumberOfLines();
207
- if (tplFile) {
208
- await ignoreFails((0, promises_1.unlink)(tplFile));
209
- }
210
- await editor.setTextAtLine(lastLine, await editor.getTextAtLine(lastLine) + " ");
211
- await sleep(50);
212
- await editor.save();
213
- await sleep(50);
214
- if (waitForFinish) {
215
- let doneChecking = async () => (await this.bench.getStatusBar().getItem(checkName)) === undefined;
216
- if (tplFile) {
217
- const oldDone = doneChecking;
218
- doneChecking = async () => await oldDone() && (await ignoreFails((0, promises_1.stat)(tplFile)) !== undefined);
219
- }
220
- await this.driver.wait(doneChecking, timeout, `${checkName} should be finished processing the module`);
221
- }
222
- }
223
- findCodeLens(editor, name, timeout = Delays.slow, message = `Cannot find code lens: ${name}`) {
224
- return this.driver.wait(() => editor.getCodeLens(name), timeout, message);
225
- }
226
- statusContains(needle) {
227
- return async () => {
228
- for (const st of await ignoreFails(this.bench.getStatusBar().getItems()) ?? []) {
229
- if ((await ignoreFails(st.getText()))?.includes(needle)) {
230
- return true;
231
- }
232
- }
233
- return false;
234
- };
235
- }
236
- screenshot(name) {
237
- return this.browser.takeScreenshot(name.replace(/[/\\?%*:|"<>]/g, '-'));
238
- }
239
- }
240
- exports.IDEOperations = IDEOperations;
241
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/test/vscode-suite/utils.ts"],"names":[],"mappings":"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"}