2017-03-01 16:22:46 -05:00
|
|
|
# Angular Language Service Test
|
|
|
|
|
|
|
|
This directory is an integration test for `@angular/language-service` to ensure
|
2019-08-22 09:43:13 -04:00
|
|
|
that the language service works correctly as a `tsserver` plugin.
|
2017-03-01 16:22:46 -05:00
|
|
|
|
2019-08-22 09:43:13 -04:00
|
|
|
To use the tests:
|
2017-03-01 16:22:46 -05:00
|
|
|
|
2019-08-22 09:43:13 -04:00
|
|
|
- Use `yarn install` to install all dependencies in this directory and in the Angular repo root
|
|
|
|
directory.
|
|
|
|
- From the Angular repo root directory, build Angular in the `dist/packages-dist` folder with
|
|
|
|
`./scripts/build-packages-dist.sh`.
|
|
|
|
- In this directory, run the tests with `yarn test`.
|
2017-03-01 16:22:46 -05:00
|
|
|
|
|
|
|
## Update golden files
|
|
|
|
|
2019-08-22 09:43:13 -04:00
|
|
|
If the expected output needs to be updated, run `yarn golden my-golden.json`, replacing
|
|
|
|
`my-golden.json` with the golden file to be updated. Do not qualify the file with a directory path.
|
|
|
|
See [generate.ts](./generate.ts) for more information.
|
2017-03-01 16:22:46 -05:00
|
|
|
|
|
|
|
## 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:
|
|
|
|
|
2019-08-22 09:43:13 -04:00
|
|
|
1) Add the fixture name to `goldens/`
|
|
|
|
2) Run `yarn golden my-golden.json`, replacing `my-golden.json` with the new fixture name, to
|
|
|
|
produce the expected output files.
|
|
|
|
3) Hand validate that the expected output is reasonable.
|