mirror of
				https://kkgithub.com/actions/setup-node.git
				synced 2025-11-04 12:46:16 +08:00 
			
		
		
		
	* 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>
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
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'."
 | 
						|
    );
 | 
						|
  });
 | 
						|
});
 |