atom-community / atom-community/atom-languageclient
Providing a test library for the clients
- Dominant language
- TypeScript
- Stars
- 47
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
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
```js
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)
Contributor guide
Research direction
Start by reading the existing tests in atom-languageclient and identify the parts that depend on one exact language server. Define the TestLSP entry point shown in the issue, support custom input and expected output such as autocomplete data, and confirm the generalized tests can be reused by different language-server clients.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100