@Test public void testInitialize_absoluteWorkspacePath() throws InterruptedException, ExecutionException { InitializeParams initializeParams = getInitializeParams(Optional.empty()); InitializeResult result = server.initialize(initializeParams).get(); assertInitializeResultIsCorrect(folder.getRoot().toPath().toAbsolutePath().normalize(), result); // Test normalization initializeParams = getInitializeParams(Optional.of( folder.getRoot().toPath().toAbsolutePath().toString() + "/somethingelse/..")); result = server.initialize(initializeParams).get(); assertInitializeResultIsCorrect(folder.getRoot().toPath().toAbsolutePath().normalize(), result); }
@Test public void testInitialize_uriWorkspacePath() throws InterruptedException, ExecutionException { InitializeParams params = getInitializeParams(Optional.empty()); InitializeResult result = server.initialize(params).get(); assertInitializeResultIsCorrect(folder.getRoot().toPath().toAbsolutePath().normalize(), result); // Test normalization params = getInitializeParams(Optional.of( folder.getRoot().toPath().toAbsolutePath().toString() + "/somethingelse/..")); result = server.initialize(params).get(); assertInitializeResultIsCorrect(folder.getRoot().toPath().toAbsolutePath().normalize(), result); }
@Test public void testInitialize_relativeWorkspacePath() throws InterruptedException, ExecutionException, IOException { File workspaceRoot = Paths.get("").toAbsolutePath().resolve("test-directory-to-be-deleted").toFile(); // Create a directory in our working directory // If this fails, make sure ./groovy-language-server/test-directory-to-be-deleted doesn't exist. assertThat(workspaceRoot.mkdir()).isTrue(); InitializeParams params = getInitializeParams(Optional.of("test-directory-to-be-deleted")); InitializeResult result = server.initialize(params).get(); assertInitializeResultIsCorrect(workspaceRoot.toPath(), result); // Test normalization params = getInitializeParams(Optional.of("./test-directory-to-be-deleted")); result = server.initialize(params).get(); assertInitializeResultIsCorrect(workspaceRoot.toPath(), result); params = getInitializeParams(Optional.of("somethingelse/../something/../test-directory-to-be-deleted")); result = server.initialize(params).get(); assertInitializeResultIsCorrect(workspaceRoot.toPath(), result); // Delete the directory we created in our working directory assertThat(workspaceRoot.delete()).isTrue(); }