The tests in the atom-languageclient can be refactored and generalized as a language client test library (independent of an exact server). This will make it possible for the clients to test different features for their language server without writing all the tests from scratch.
To do this a couple of things should be done:
The test should allow specifying the language server package
import { TestLSP } from "atom-languageclient"
import DLanguageServer from "../lib"
const testLSP = new TestLSP(DLanguageServer)
- The test should accept custom data as input and expected (e.g. autocomplete query and the expected value)
The tests in the
atom-languageclient
can be refactored and generalized as a language client test library (independent of an exact server). This will make it possible for the clients to test different features for their language server without writing all the tests from scratch.To do this a couple of things should be done:
const testLSP = new TestLSP(DLanguageServer)