Skip to content

Commit

Permalink
tests: fix tests on windows
Browse files Browse the repository at this point in the history
  • Loading branch information
tatchi committed Jun 28, 2022
1 parent 79887bc commit b42a12a
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 87 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import outdent from "outdent";
import * as path from "path";
import { URI } from "vscode-uri";
import * as LanguageServer from "../src/LanguageServer";
import * as Protocol from "vscode-languageserver-protocol";
import * as Types from "vscode-languageserver-types";
Expand Down Expand Up @@ -237,7 +238,7 @@ let f (x : t) = x
it("opens the implementation if not in store", async () => {
let testWorkspacePath = path.join(__dirname, "declaration_files/");
let intfFilepath = path.join(testWorkspacePath, "lib.mli");
let intfUri = "file://" + intfFilepath;
let intfUri = URI.file(intfFilepath).toString();
openDocument("", intfUri);
let start = Types.Position.create(0, 0);
let end = Types.Position.create(0, 0);
Expand Down
180 changes: 94 additions & 86 deletions ocaml-lsp-server/test/e2e/__tests__/workspace-symbol.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import * as child_process from "child_process";
import * as Types from "vscode-languageserver-types";
import * as Protocol from "vscode-languageserver-protocol";
import * as LanguageServer from "./../src/LanguageServer";
import { URI } from "vscode-uri";

let createWorkspaces = (names: string[]) => {
let createSingleWorkspace = (name: string) => {
Expand All @@ -27,8 +28,15 @@ let createWorkspaces = (names: string[]) => {
: "";

return `${symbol.name} ${symbol.kind} ${workspaces.reduce(
(uri, { path, name }) => uri.replace(path, `<${name}>`),
symbol.location.uri,
(acc, { path: workspacePath, name: workspaceName }) => {
const uri = symbol.location.uri;
const fsPath = URI.parse(uri).fsPath;
if (!fsPath.includes(workspaceName)) return acc;
return URI.file(
path.relative(path.resolve(workspacePath, ".."), fsPath),
).path;
},
"",
)} ${location}`;
};

Expand Down Expand Up @@ -76,44 +84,44 @@ describe("workspace/symbol", () => {

expect(symbols.map(toTestResult)).toMatchInlineSnapshot(`
Array [
"stack_of_ints 5 file://<workspace_symbol_A>/bin/a.ml 51:0 65:5",
"size 6 file://<workspace_symbol_A>/bin/a.ml 64:11 64:15",
"peek 6 file://<workspace_symbol_A>/bin/a.ml 62:11 62:15",
"pop 6 file://<workspace_symbol_A>/bin/a.ml 57:11 57:14",
"push 6 file://<workspace_symbol_A>/bin/a.ml 55:11 55:15",
"the_list 12 file://<workspace_symbol_A>/bin/a.ml 53:16 53:24",
"Foo 9 file://<workspace_symbol_A>/bin/a.ml 49:0 49:23",
"Increment 2 file://<workspace_symbol_A>/bin/a.ml 45:0 47:3",
"increment_x 12 file://<workspace_symbol_A>/bin/a.ml 46:2 46:27",
"X_int 2 file://<workspace_symbol_A>/bin/a.ml 41:0 43:3",
"x 12 file://<workspace_symbol_A>/bin/a.ml 42:2 42:13",
"A_Mod 2 file://<workspace_symbol_A>/bin/a.ml 29:0 39:3",
"compare 12 file://<workspace_symbol_A>/bin/a.ml 38:2 38:30",
"private_mod_fn 12 file://<workspace_symbol_A>/bin/a.ml 36:2 36:33",
"t 15 file://<workspace_symbol_A>/bin/a.ml 34:2 34:14",
"My_string 2 file://<workspace_symbol_A>/bin/a.ml 27:0 27:25",
"StringMap 2 file://<workspace_symbol_A>/bin/a.ml 26:0 26:36",
"a_i 12 file://<workspace_symbol_A>/bin/a.ml 22:0 24:7",
"a_arr 12 file://<workspace_symbol_A>/bin/a.ml 18:0 18:14",
"a_u 12 file://<workspace_symbol_A>/bin/a.ml 16:0 16:15",
"user 15 file://<workspace_symbol_A>/bin/a.ml 12:0 14:12",
"NotAdmin 9 file://<workspace_symbol_A>/bin/a.ml 14:2 14:12",
"Admin 9 file://<workspace_symbol_A>/bin/a.ml 13:2 13:9",
"a_d 12 file://<workspace_symbol_A>/bin/a.ml 7:0 10:14",
"A_B 2 file://<workspace_symbol_A>/bin/a.ml 2:0 5:3",
"a_b 12 file://<workspace_symbol_A>/bin/a.ml 4:2 4:19",
"a_b_t 15 file://<workspace_symbol_A>/bin/a.ml 3:2 3:21",
"a_x 12 file://<workspace_symbol_A>/bin/a.ml 0:0 0:11",
"main_y 12 file://<workspace_symbol_A>/bin/main.ml 0:0 0:22",
"vendored_x 12 file://<workspace_symbol_A>/lib/lib.ml 14:0 14:31",
"lib_type 12 file://<workspace_symbol_A>/lib/lib.ml 12:0 12:38",
"lib_private_fn 12 file://<workspace_symbol_A>/lib/lib.ml 10:0 10:38",
"hd 12 file://<workspace_symbol_A>/lib/lib.ml 8:0 8:16",
"lib_x 12 file://<workspace_symbol_A>/lib/lib.ml 6:0 6:14",
"user 15 file://<workspace_symbol_A>/lib/lib.ml 3:0 5:1",
"name 7 file://<workspace_symbol_A>/lib/lib.ml 4:2 4:14",
"t 15 file://<workspace_symbol_A>/lib/LibTypes.mli 0:0 0:15",
"x 12 file://<workspace_symbol_A>/vendor/vendored_lib.ml 0:0 0:9",
"stack_of_ints 5 /workspace_symbol_A/bin/a.ml 51:0 65:5",
"size 6 /workspace_symbol_A/bin/a.ml 64:11 64:15",
"peek 6 /workspace_symbol_A/bin/a.ml 62:11 62:15",
"pop 6 /workspace_symbol_A/bin/a.ml 57:11 57:14",
"push 6 /workspace_symbol_A/bin/a.ml 55:11 55:15",
"the_list 12 /workspace_symbol_A/bin/a.ml 53:16 53:24",
"Foo 9 /workspace_symbol_A/bin/a.ml 49:0 49:23",
"Increment 2 /workspace_symbol_A/bin/a.ml 45:0 47:3",
"increment_x 12 /workspace_symbol_A/bin/a.ml 46:2 46:27",
"X_int 2 /workspace_symbol_A/bin/a.ml 41:0 43:3",
"x 12 /workspace_symbol_A/bin/a.ml 42:2 42:13",
"A_Mod 2 /workspace_symbol_A/bin/a.ml 29:0 39:3",
"compare 12 /workspace_symbol_A/bin/a.ml 38:2 38:30",
"private_mod_fn 12 /workspace_symbol_A/bin/a.ml 36:2 36:33",
"t 15 /workspace_symbol_A/bin/a.ml 34:2 34:14",
"My_string 2 /workspace_symbol_A/bin/a.ml 27:0 27:25",
"StringMap 2 /workspace_symbol_A/bin/a.ml 26:0 26:36",
"a_i 12 /workspace_symbol_A/bin/a.ml 22:0 24:7",
"a_arr 12 /workspace_symbol_A/bin/a.ml 18:0 18:14",
"a_u 12 /workspace_symbol_A/bin/a.ml 16:0 16:15",
"user 15 /workspace_symbol_A/bin/a.ml 12:0 14:12",
"NotAdmin 9 /workspace_symbol_A/bin/a.ml 14:2 14:12",
"Admin 9 /workspace_symbol_A/bin/a.ml 13:2 13:9",
"a_d 12 /workspace_symbol_A/bin/a.ml 7:0 10:14",
"A_B 2 /workspace_symbol_A/bin/a.ml 2:0 5:3",
"a_b 12 /workspace_symbol_A/bin/a.ml 4:2 4:19",
"a_b_t 15 /workspace_symbol_A/bin/a.ml 3:2 3:21",
"a_x 12 /workspace_symbol_A/bin/a.ml 0:0 0:11",
"main_y 12 /workspace_symbol_A/bin/main.ml 0:0 0:22",
"vendored_x 12 /workspace_symbol_A/lib/lib.ml 14:0 14:31",
"lib_type 12 /workspace_symbol_A/lib/lib.ml 12:0 12:38",
"lib_private_fn 12 /workspace_symbol_A/lib/lib.ml 10:0 10:38",
"hd 12 /workspace_symbol_A/lib/lib.ml 8:0 8:16",
"lib_x 12 /workspace_symbol_A/lib/lib.ml 6:0 6:14",
"user 15 /workspace_symbol_A/lib/lib.ml 3:0 5:1",
"name 7 /workspace_symbol_A/lib/lib.ml 4:2 4:14",
"t 15 /workspace_symbol_A/lib/LibTypes.mli 0:0 0:15",
"x 12 /workspace_symbol_A/vendor/vendored_lib.ml 0:0 0:9",
]
`);
});
Expand All @@ -131,13 +139,13 @@ describe("workspace/symbol", () => {

expect(symbols.map(toTestResult)).toMatchInlineSnapshot(`
Array [
"a_i 12 file://<workspace_symbol_A>/bin/a.ml 22:0 24:7",
"a_arr 12 file://<workspace_symbol_A>/bin/a.ml 18:0 18:14",
"a_u 12 file://<workspace_symbol_A>/bin/a.ml 16:0 16:15",
"a_d 12 file://<workspace_symbol_A>/bin/a.ml 7:0 10:14",
"a_b 12 file://<workspace_symbol_A>/bin/a.ml 4:2 4:19",
"a_b_t 15 file://<workspace_symbol_A>/bin/a.ml 3:2 3:21",
"a_x 12 file://<workspace_symbol_A>/bin/a.ml 0:0 0:11",
"a_i 12 /workspace_symbol_A/bin/a.ml 22:0 24:7",
"a_arr 12 /workspace_symbol_A/bin/a.ml 18:0 18:14",
"a_u 12 /workspace_symbol_A/bin/a.ml 16:0 16:15",
"a_d 12 /workspace_symbol_A/bin/a.ml 7:0 10:14",
"a_b 12 /workspace_symbol_A/bin/a.ml 4:2 4:19",
"a_b_t 15 /workspace_symbol_A/bin/a.ml 3:2 3:21",
"a_x 12 /workspace_symbol_A/bin/a.ml 0:0 0:11",
]
`);
});
Expand All @@ -156,45 +164,45 @@ describe("workspace/symbol", () => {

expect(symbols.map(toTestResult)).toMatchInlineSnapshot(`
Array [
"stack_of_ints 5 file://<workspace_symbol_A>/bin/a.ml 51:0 65:5",
"size 6 file://<workspace_symbol_A>/bin/a.ml 64:11 64:15",
"peek 6 file://<workspace_symbol_A>/bin/a.ml 62:11 62:15",
"pop 6 file://<workspace_symbol_A>/bin/a.ml 57:11 57:14",
"push 6 file://<workspace_symbol_A>/bin/a.ml 55:11 55:15",
"the_list 12 file://<workspace_symbol_A>/bin/a.ml 53:16 53:24",
"Foo 9 file://<workspace_symbol_A>/bin/a.ml 49:0 49:23",
"Increment 2 file://<workspace_symbol_A>/bin/a.ml 45:0 47:3",
"increment_x 12 file://<workspace_symbol_A>/bin/a.ml 46:2 46:27",
"X_int 2 file://<workspace_symbol_A>/bin/a.ml 41:0 43:3",
"x 12 file://<workspace_symbol_A>/bin/a.ml 42:2 42:13",
"A_Mod 2 file://<workspace_symbol_A>/bin/a.ml 29:0 39:3",
"compare 12 file://<workspace_symbol_A>/bin/a.ml 38:2 38:30",
"private_mod_fn 12 file://<workspace_symbol_A>/bin/a.ml 36:2 36:33",
"t 15 file://<workspace_symbol_A>/bin/a.ml 34:2 34:14",
"My_string 2 file://<workspace_symbol_A>/bin/a.ml 27:0 27:25",
"StringMap 2 file://<workspace_symbol_A>/bin/a.ml 26:0 26:36",
"a_i 12 file://<workspace_symbol_A>/bin/a.ml 22:0 24:7",
"a_arr 12 file://<workspace_symbol_A>/bin/a.ml 18:0 18:14",
"a_u 12 file://<workspace_symbol_A>/bin/a.ml 16:0 16:15",
"user 15 file://<workspace_symbol_A>/bin/a.ml 12:0 14:12",
"NotAdmin 9 file://<workspace_symbol_A>/bin/a.ml 14:2 14:12",
"Admin 9 file://<workspace_symbol_A>/bin/a.ml 13:2 13:9",
"a_d 12 file://<workspace_symbol_A>/bin/a.ml 7:0 10:14",
"A_B 2 file://<workspace_symbol_A>/bin/a.ml 2:0 5:3",
"a_b 12 file://<workspace_symbol_A>/bin/a.ml 4:2 4:19",
"a_b_t 15 file://<workspace_symbol_A>/bin/a.ml 3:2 3:21",
"a_x 12 file://<workspace_symbol_A>/bin/a.ml 0:0 0:11",
"main_y 12 file://<workspace_symbol_A>/bin/main.ml 0:0 0:22",
"vendored_x 12 file://<workspace_symbol_A>/lib/lib.ml 14:0 14:31",
"lib_type 12 file://<workspace_symbol_A>/lib/lib.ml 12:0 12:38",
"lib_private_fn 12 file://<workspace_symbol_A>/lib/lib.ml 10:0 10:38",
"hd 12 file://<workspace_symbol_A>/lib/lib.ml 8:0 8:16",
"lib_x 12 file://<workspace_symbol_A>/lib/lib.ml 6:0 6:14",
"user 15 file://<workspace_symbol_A>/lib/lib.ml 3:0 5:1",
"name 7 file://<workspace_symbol_A>/lib/lib.ml 4:2 4:14",
"t 15 file://<workspace_symbol_A>/lib/LibTypes.mli 0:0 0:15",
"x 12 file://<workspace_symbol_A>/vendor/vendored_lib.ml 0:0 0:9",
"workspace_B 12 file://<workspace_symbol_B>/main.ml 0:0 0:31",
"stack_of_ints 5 /workspace_symbol_A/bin/a.ml 51:0 65:5",
"size 6 /workspace_symbol_A/bin/a.ml 64:11 64:15",
"peek 6 /workspace_symbol_A/bin/a.ml 62:11 62:15",
"pop 6 /workspace_symbol_A/bin/a.ml 57:11 57:14",
"push 6 /workspace_symbol_A/bin/a.ml 55:11 55:15",
"the_list 12 /workspace_symbol_A/bin/a.ml 53:16 53:24",
"Foo 9 /workspace_symbol_A/bin/a.ml 49:0 49:23",
"Increment 2 /workspace_symbol_A/bin/a.ml 45:0 47:3",
"increment_x 12 /workspace_symbol_A/bin/a.ml 46:2 46:27",
"X_int 2 /workspace_symbol_A/bin/a.ml 41:0 43:3",
"x 12 /workspace_symbol_A/bin/a.ml 42:2 42:13",
"A_Mod 2 /workspace_symbol_A/bin/a.ml 29:0 39:3",
"compare 12 /workspace_symbol_A/bin/a.ml 38:2 38:30",
"private_mod_fn 12 /workspace_symbol_A/bin/a.ml 36:2 36:33",
"t 15 /workspace_symbol_A/bin/a.ml 34:2 34:14",
"My_string 2 /workspace_symbol_A/bin/a.ml 27:0 27:25",
"StringMap 2 /workspace_symbol_A/bin/a.ml 26:0 26:36",
"a_i 12 /workspace_symbol_A/bin/a.ml 22:0 24:7",
"a_arr 12 /workspace_symbol_A/bin/a.ml 18:0 18:14",
"a_u 12 /workspace_symbol_A/bin/a.ml 16:0 16:15",
"user 15 /workspace_symbol_A/bin/a.ml 12:0 14:12",
"NotAdmin 9 /workspace_symbol_A/bin/a.ml 14:2 14:12",
"Admin 9 /workspace_symbol_A/bin/a.ml 13:2 13:9",
"a_d 12 /workspace_symbol_A/bin/a.ml 7:0 10:14",
"A_B 2 /workspace_symbol_A/bin/a.ml 2:0 5:3",
"a_b 12 /workspace_symbol_A/bin/a.ml 4:2 4:19",
"a_b_t 15 /workspace_symbol_A/bin/a.ml 3:2 3:21",
"a_x 12 /workspace_symbol_A/bin/a.ml 0:0 0:11",
"main_y 12 /workspace_symbol_A/bin/main.ml 0:0 0:22",
"vendored_x 12 /workspace_symbol_A/lib/lib.ml 14:0 14:31",
"lib_type 12 /workspace_symbol_A/lib/lib.ml 12:0 12:38",
"lib_private_fn 12 /workspace_symbol_A/lib/lib.ml 10:0 10:38",
"hd 12 /workspace_symbol_A/lib/lib.ml 8:0 8:16",
"lib_x 12 /workspace_symbol_A/lib/lib.ml 6:0 6:14",
"user 15 /workspace_symbol_A/lib/lib.ml 3:0 5:1",
"name 7 /workspace_symbol_A/lib/lib.ml 4:2 4:14",
"t 15 /workspace_symbol_A/lib/LibTypes.mli 0:0 0:15",
"x 12 /workspace_symbol_A/vendor/vendored_lib.ml 0:0 0:9",
"workspace_B 12 /workspace_symbol_B/main.ml 0:0 0:31",
]
`);
});
Expand Down

0 comments on commit b42a12a

Please sign in to comment.