()
| 25 | export class LanguageServiceTestEnv { |
| 26 | private static fsInitialized = false; |
| 27 | static setup(): LanguageServiceTestEnv { |
| 28 | let fs = getFileSystem(); |
| 29 | if (!(fs instanceof MockFileSystem)) { |
| 30 | initMockFileSystem('Native'); |
| 31 | fs = getFileSystem(); |
| 32 | } |
| 33 | |
| 34 | if (!LanguageServiceTestEnv.fsInitialized) { |
| 35 | (fs as MockFileSystem).init( |
| 36 | loadStandardTestFiles({ |
| 37 | fakeCommon: true, |
| 38 | rxjs: true, |
| 39 | }), |
| 40 | ); |
| 41 | |
| 42 | lockMockFileSystem(); |
| 43 | LanguageServiceTestEnv.fsInitialized = true; |
| 44 | } |
| 45 | |
| 46 | const host = new MockServerHost(); |
| 47 | |
| 48 | const projectService = new ts.server.ProjectService({ |
| 49 | logger, |
| 50 | cancellationToken: ts.server.nullCancellationToken, |
| 51 | host, |
| 52 | documentRegistry: ts.createDocumentRegistry( |
| 53 | host.useCaseSensitiveFileNames, |
| 54 | host.getCurrentDirectory(), |
| 55 | ), |
| 56 | typingsInstaller: ts.server.nullTypingsInstaller, |
| 57 | session: undefined, |
| 58 | useInferredProjectPerProjectRoot: true, |
| 59 | useSingleInferredProject: true, |
| 60 | } as unknown as ts.server.ProjectServiceOptions); |
| 61 | |
| 62 | return new LanguageServiceTestEnv(host, projectService); |
| 63 | } |
| 64 | |
| 65 | private projects = new Map<string, Project>(); |
| 66 | private projectFiles = new Map<string, Set<string>>(); |
no test coverage detected