Skip to content
This repository has been archived by the owner on Apr 2, 2021. It is now read-only.

WIP: integration tests #23

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,12 @@ test {
finalizedBy jacocoTestReport
}

//compileTestJava.dependsOn(compileTestScala)

task testJar(type: Jar) {
from sourceSets.test.output
}

// IDE run and debugging

runIde {
Expand Down
1 change: 1 addition & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
rootProject.name = 'LSP'
include 'testServer'
50 changes: 50 additions & 0 deletions src/test/java/com/github/gtache/lsp/its/CompletionTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.github.gtache.lsp.its;

import com.github.gtache.lsp.client.languageserver.serverdefinition.ExeLanguageServerDefinition;
import com.github.gtache.lsp.client.languageserver.serverdefinition.LanguageServerDefinition;
import com.github.gtache.lsp.client.languageserver.serverdefinition.UserConfigurableServerDefinition;
import com.github.gtache.lsp.settings.LSPState;
import com.github.gtache.lsp.utils.TestUtils;
import com.intellij.codeInsight.completion.CompletionType;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CompletionTest extends LightCodeInsightFixtureTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
Path languageServer = Paths.get(".", "testServer", "build", "libs", "testServer.jar");

List<String> args = new ArrayList<>();
args.add("-jar");
args.add(languageServer.toString());
args.add("-Xdebug");
args.add("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044");
ExeLanguageServerDefinition definition = new ExeLanguageServerDefinition("test", "java", args.toArray(new String[0]));

LSPState state = LSPState.getInstance();
Map<String, UserConfigurableServerDefinition> servers = new HashMap<>();
servers.put("test", definition);
state.setExtToServ(servers);
}

@Override
protected String getTestDataPath() {
return TestUtils.BASE_TEST_DATA_PATH;
}

public void testCompletion() {
myFixture.configureByFiles("test1.test", "test2.test");
myFixture.complete(CompletionType.BASIC, 1);
List<String> strings = myFixture.getLookupElementStrings();
assertTrue(strings.containsAll(Arrays.asList("key with spaces", "language", "message", "tab", "website")));
assertEquals(5, strings.size());
}
}
10 changes: 10 additions & 0 deletions src/test/java/com/github/gtache/lsp/utils/TestUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.github.gtache.lsp.utils;

import java.io.File;

public class TestUtils {
/**
* The root of the test data directory
*/
public static final String BASE_TEST_DATA_PATH = new File("src/test/resources").getAbsolutePath();
}
Loading