Fix TypeScript error line/column (#125)
* Fix TypeScript error line/column * Adopt official pattern from VS Code * Minor cleanup * Add tests for tsc problem matcher Co-authored-by: Lukas Spieß <lumaxis@github.com>main v2.1.5
							parent
							
								
									05f0551dbd
								
							
						
					
					
						commit
						46071b5c7a
					
				| @ -0,0 +1,43 @@ | |||||||
|  | describe('problem matcher tests', () => { | ||||||
|  |   it('tsc: matches TypeScript "pretty" error message', () => { | ||||||
|  |     const [ | ||||||
|  |       { | ||||||
|  |         pattern: [{regexp}] | ||||||
|  |       } | ||||||
|  |     ] = require('../.github/tsc.json').problemMatcher; | ||||||
|  |     const exampleErrorMessage = | ||||||
|  |       "lib/index.js:23:42 - error TS2345: Argument of type 'A' is not assignable to parameter of type 'B'."; | ||||||
|  | 
 | ||||||
|  |     const match = exampleErrorMessage.match(new RegExp(regexp)); | ||||||
|  |     expect(match).not.toBeNull(); | ||||||
|  |     expect(match![1]).toEqual('lib/index.js'); | ||||||
|  |     expect(match![2]).toEqual('23'); | ||||||
|  |     expect(match![3]).toEqual('42'); | ||||||
|  |     expect(match![4]).toEqual('error'); | ||||||
|  |     expect(match![5]).toEqual('2345'); | ||||||
|  |     expect(match![6]).toEqual( | ||||||
|  |       "Argument of type 'A' is not assignable to parameter of type 'B'." | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('tsc: matches TypeScript error message from log file', () => { | ||||||
|  |     const [ | ||||||
|  |       { | ||||||
|  |         pattern: [{regexp}] | ||||||
|  |       } | ||||||
|  |     ] = require('../.github/tsc.json').problemMatcher; | ||||||
|  |     const exampleErrorMessage = | ||||||
|  |       "lib/index.js(23,42): error TS2345: Argument of type 'A' is not assignable to parameter of type 'B'."; | ||||||
|  | 
 | ||||||
|  |     const match = exampleErrorMessage.match(new RegExp(regexp)); | ||||||
|  |     expect(match).not.toBeNull(); | ||||||
|  |     expect(match![1]).toEqual('lib/index.js'); | ||||||
|  |     expect(match![2]).toEqual('23'); | ||||||
|  |     expect(match![3]).toEqual('42'); | ||||||
|  |     expect(match![4]).toEqual('error'); | ||||||
|  |     expect(match![5]).toEqual('2345'); | ||||||
|  |     expect(match![6]).toEqual( | ||||||
|  |       "Argument of type 'A' is not assignable to parameter of type 'B'." | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
					Loading…
					
					
				
		Reference in New Issue