From 14cce83104e08fc53bcdd819bd6ad8f540a5b50d Mon Sep 17 00:00:00 2001 From: Armano Date: Sat, 18 Feb 2023 13:09:41 +0100 Subject: [PATCH 1/3] test: allow to execute tests on windows --- packages/ast-spec/tests/fixtures.test.ts | 14 +++++++--- .../typescript/basics/type-import-type.src.ts | 2 -- .../tests/lib/getProjectConfigFiles.test.ts | 26 +++++++++++++------ .../tests/lib/parse.project-true.test.ts | 2 +- 4 files changed, 30 insertions(+), 14 deletions(-) delete mode 100644 packages/shared-fixtures/fixtures/typescript/basics/type-import-type.src.ts diff --git a/packages/ast-spec/tests/fixtures.test.ts b/packages/ast-spec/tests/fixtures.test.ts index df70fe613eb..3880e980e5c 100644 --- a/packages/ast-spec/tests/fixtures.test.ts +++ b/packages/ast-spec/tests/fixtures.test.ts @@ -38,10 +38,18 @@ const fixturesWithErrorDifferences = { } as const; const VALID_FIXTURES: readonly string[] = glob.sync( - `${SRC_DIR}/**/fixtures/*/fixture.{ts,tsx}`, + `**/fixtures/*/fixture.{ts,tsx}`, + { + cwd: SRC_DIR, + absolute: true, + }, ); const ERROR_FIXTURES: readonly string[] = glob.sync( - `${SRC_DIR}/**/fixtures/_error_/*/fixture.{ts,tsx}`, + `**/fixtures/_error_/*/fixture.{ts,tsx}`, + { + cwd: SRC_DIR, + absolute: true, + }, ); const FIXTURES: readonly Fixture[] = [...VALID_FIXTURES, ...ERROR_FIXTURES].map( @@ -66,7 +74,7 @@ const FIXTURES: readonly Fixture[] = [...VALID_FIXTURES, ...ERROR_FIXTURES].map( isError: absolute.includes('/_error_/'), isJSX: ext.endsWith('x'), name, - relative: path.relative(SRC_DIR, absolute), + relative: path.relative(SRC_DIR, absolute).replace(/\\/g, '/'), segments, snapshotFiles: { success: { diff --git a/packages/shared-fixtures/fixtures/typescript/basics/type-import-type.src.ts b/packages/shared-fixtures/fixtures/typescript/basics/type-import-type.src.ts deleted file mode 100644 index 5166c214216..00000000000 --- a/packages/shared-fixtures/fixtures/typescript/basics/type-import-type.src.ts +++ /dev/null @@ -1,2 +0,0 @@ -type A = typeof import('A'); -type B = import('B').X; diff --git a/packages/typescript-estree/tests/lib/getProjectConfigFiles.test.ts b/packages/typescript-estree/tests/lib/getProjectConfigFiles.test.ts index 7378508b001..77ca07d91bb 100644 --- a/packages/typescript-estree/tests/lib/getProjectConfigFiles.test.ts +++ b/packages/typescript-estree/tests/lib/getProjectConfigFiles.test.ts @@ -1,3 +1,5 @@ +import path from 'path'; + import { ExpiringCache } from '../../src/parseSettings/ExpiringCache'; import { getProjectConfigFiles } from '../../src/parseSettings/getProjectConfigFiles'; @@ -51,12 +53,16 @@ describe('getProjectConfigFiles', () => { getProjectConfigFiles(parseSettings, true); const actual = getProjectConfigFiles(parseSettings, true); - expect(actual).toEqual(['repos/repo/packages/package/tsconfig.json']); + expect(actual).toEqual([ + path.normalize('repos/repo/packages/package/tsconfig.json'), + ]); expect(mockExistsSync).toHaveBeenCalledTimes(1); }); it('returns a nearby parent tsconfig.json when it was previously cached by a different directory search', () => { - mockExistsSync.mockImplementation(input => input === 'a/tsconfig.json'); + mockExistsSync.mockImplementation( + input => input === path.normalize('a/tsconfig.json'), + ); const tsconfigMatchCache = new ExpiringCache(1); @@ -81,12 +87,14 @@ describe('getProjectConfigFiles', () => { true, ); - expect(actual).toEqual(['a/tsconfig.json']); + expect(actual).toEqual([path.normalize('a/tsconfig.json')]); expect(mockExistsSync).toHaveBeenCalledTimes(4); }); it('returns a distant parent tsconfig.json when it was previously cached by a different directory search', () => { - mockExistsSync.mockImplementation(input => input === 'a/tsconfig.json'); + mockExistsSync.mockImplementation( + input => input === path.normalize('a/tsconfig.json'), + ); const tsconfigMatchCache = new ExpiringCache(1); @@ -111,7 +119,7 @@ describe('getProjectConfigFiles', () => { true, ); - expect(actual).toEqual(['a/tsconfig.json']); + expect(actual).toEqual([path.normalize('a/tsconfig.json')]); expect(mockExistsSync).toHaveBeenCalledTimes(6); }); }); @@ -122,17 +130,19 @@ describe('getProjectConfigFiles', () => { const actual = getProjectConfigFiles(parseSettings, true); - expect(actual).toEqual(['repos/repo/packages/package/tsconfig.json']); + expect(actual).toEqual([ + path.normalize('repos/repo/packages/package/tsconfig.json'), + ]); }); it('returns a parent tsconfig.json when matched', () => { mockExistsSync.mockImplementation( - filePath => filePath === 'repos/repo/tsconfig.json', + filePath => filePath === path.normalize('repos/repo/tsconfig.json'), ); const actual = getProjectConfigFiles(parseSettings, true); - expect(actual).toEqual(['repos/repo/tsconfig.json']); + expect(actual).toEqual([path.normalize('repos/repo/tsconfig.json')]); }); it('throws when searching hits .', () => { diff --git a/packages/typescript-estree/tests/lib/parse.project-true.test.ts b/packages/typescript-estree/tests/lib/parse.project-true.test.ts index 3e4e47cb2c9..ff2ea0d0e3f 100644 --- a/packages/typescript-estree/tests/lib/parse.project-true.test.ts +++ b/packages/typescript-estree/tests/lib/parse.project-true.test.ts @@ -42,7 +42,7 @@ describe('parseAndGenerateServices', () => { filePath: join(PROJECT_DIR, 'notIncluded.ts'), }), ).toThrow( - /project was set to `true` but couldn't find any tsconfig.json relative to '.+\/tests\/fixtures\/projectTrue\/notIncluded.ts' within '.+\/tests\/fixtures\/projectTrue'./, + /project was set to `true` but couldn't find any tsconfig.json relative to '.+[/\\]tests[/\\]fixtures[/\\]projectTrue[/\\]notIncluded.ts' within '.+[/\\]tests[/\\]fixtures[/\\]projectTrue'./, ); }); }); From 0a539dbe1f24b26d4682af833d25557ee7605dd4 Mon Sep 17 00:00:00 2001 From: Armano Date: Sat, 18 Feb 2023 13:22:46 +0100 Subject: [PATCH 2/3] test: use path.posix instead of replace --- packages/ast-spec/tests/fixtures.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ast-spec/tests/fixtures.test.ts b/packages/ast-spec/tests/fixtures.test.ts index 3880e980e5c..b331ec72a83 100644 --- a/packages/ast-spec/tests/fixtures.test.ts +++ b/packages/ast-spec/tests/fixtures.test.ts @@ -74,7 +74,7 @@ const FIXTURES: readonly Fixture[] = [...VALID_FIXTURES, ...ERROR_FIXTURES].map( isError: absolute.includes('/_error_/'), isJSX: ext.endsWith('x'), name, - relative: path.relative(SRC_DIR, absolute).replace(/\\/g, '/'), + relative: path.posix.relative(SRC_DIR, absolute), segments, snapshotFiles: { success: { From 3052b2c8f833baf1a42b8dad5ccabb31fcc074ad Mon Sep 17 00:00:00 2001 From: Armano Date: Sat, 18 Feb 2023 13:29:16 +0100 Subject: [PATCH 3/3] test: revert posix change --- packages/ast-spec/tests/fixtures.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ast-spec/tests/fixtures.test.ts b/packages/ast-spec/tests/fixtures.test.ts index b331ec72a83..3880e980e5c 100644 --- a/packages/ast-spec/tests/fixtures.test.ts +++ b/packages/ast-spec/tests/fixtures.test.ts @@ -74,7 +74,7 @@ const FIXTURES: readonly Fixture[] = [...VALID_FIXTURES, ...ERROR_FIXTURES].map( isError: absolute.includes('/_error_/'), isJSX: ext.endsWith('x'), name, - relative: path.posix.relative(SRC_DIR, absolute), + relative: path.relative(SRC_DIR, absolute).replace(/\\/g, '/'), segments, snapshotFiles: { success: {