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.
 |