angular-cn/integration/language_service_plugin
Alex Eagle 08aa54e1d9 ci: Add back the CLI integration test with pinning (#21555)
The CLI app is now checked in, rather than generated dynamically with
`ng new`. This loses some assertion power, but gains hermeticity.
It also checks in lock files for all integration tests, avoiding
floating version numbers.

We'll need another place to integration test between changes in
the various repositories - but the angular/angular PR-blocking status
is not the right place to do this.

PR Close #21555
2018-01-25 22:18:55 -08:00
..
fixtures test(language-service): test `@angular/language-service` can be loaded by tsserver.js (#14721) 2017-03-01 13:22:46 -08:00
project test(language-service): test `@angular/language-service` can be loaded by tsserver.js (#14721) 2017-03-01 13:22:46 -08:00
scripts fix(language-service): remove tsickle dependency 2017-08-16 11:33:49 -07:00
tools fix(language-service): remove tsickle dependency 2017-08-16 11:33:49 -07:00
typescripts/2.3 ci(language-service): update ci tests to official 2.3 build (#16415) 2017-04-28 17:40:53 -05:00
.gitignore test(language-service): test `@angular/language-service` can be loaded by tsserver.js (#14721) 2017-03-01 13:22:46 -08:00
README.md test(language-service): test `@angular/language-service` can be loaded by tsserver.js (#14721) 2017-03-01 13:22:46 -08:00
package.json build: remove references to `tsc-wrapped` (#19298) 2017-09-21 13:55:52 -07:00
tsconfig.json test(language-service): test `@angular/language-service` can be loaded by tsserver.js (#14721) 2017-03-01 13:22:46 -08:00
yarn.lock ci: Add back the CLI integration test with pinning (#21555) 2018-01-25 22:18:55 -08:00

README.md

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.