37 lines
1.4 KiB
Markdown
37 lines
1.4 KiB
Markdown
|
# Angular Language Service Test
|
||
|
|
||
|
This directory is an integration test for `@angular/language-service` to ensure
|
||
|
that various versions of the server can be loaded in the supported versions of
|
||
|
TypeScript's language service.
|
||
|
|
||
|
## New supported version of TypeScript
|
||
|
|
||
|
To add a new supported version of TypeScript:
|
||
|
|
||
|
1) Create directory in `typescripts` to hold the new version following the pattern
|
||
|
of the other versions.
|
||
|
2) Add the directory name to the end of the `TYPESCRIPTS` variable in the
|
||
|
`scripts/env.sh` file.
|
||
|
3) Run `scripts/update_golden.sh` to generate the expected files.
|
||
|
4) Verify the expected output is reasonable by comparing to a known good output
|
||
|
from a previous version.
|
||
|
|
||
|
## Update golden files
|
||
|
|
||
|
If the expected output needs to be updated run `scripts/update_golden.sh` to
|
||
|
update the expected output of the server.
|
||
|
|
||
|
## Adding a new fixture
|
||
|
|
||
|
Currently there is no automated way to produce a new fixture. The way the
|
||
|
current fixtures were created was to hack a version of tsserver.js to write the
|
||
|
commands from `VSCode` to a file while performing the operation to be tested.
|
||
|
I also hand modified the input to remove superfluous request.
|
||
|
|
||
|
Once a new fixture is created:
|
||
|
|
||
|
1) Add the fixture base name (without the .json) to `FIXTURES` in
|
||
|
`scripts/env.sh`.
|
||
|
2) Run `scripts/udpate_golden.sh` to produce the expected output files.
|
||
|
3) Hand validate the expected output is reasonable.
|