@zzzen/pyright-internal 1.2.0-dev.20240324 → 1.2.0-dev.20240407
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/analyzerFileInfo.d.ts +0 -1
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/binder.js +15 -8
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.d.ts +12 -0
- package/dist/analyzer/cacheManager.js +63 -3
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +2 -3
- package/dist/analyzer/checker.js +18 -13
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +14 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -0
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +20 -3
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +2 -2
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +3 -2
- package/dist/analyzer/constructors.js +76 -54
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +7 -6
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.js +1 -1
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/enums.js +8 -3
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +1 -1
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.js +19 -17
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +6 -6
- package/dist/analyzer/importStatementUtils.js +42 -42
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -1
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +7 -7
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +6 -5
- package/dist/analyzer/parseTreeUtils.js +12 -13
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +15 -4
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +5 -10
- package/dist/analyzer/program.js +35 -30
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/programTypes.d.ts +11 -0
- package/dist/analyzer/programTypes.js +11 -0
- package/dist/analyzer/programTypes.js.map +1 -0
- package/dist/analyzer/properties.js +10 -10
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +5 -5
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +3 -2
- package/dist/analyzer/service.js +24 -15
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +5 -3
- package/dist/analyzer/sourceFile.js +112 -75
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +4 -4
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +6 -6
- package/dist/analyzer/symbol.d.ts +4 -1
- package/dist/analyzer/symbol.js +10 -0
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/symbolUtils.d.ts +1 -0
- package/dist/analyzer/symbolUtils.js +11 -1
- package/dist/analyzer/symbolUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +2 -2
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +1 -1
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +159 -73
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +16 -9
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +1 -1
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +2 -2
- package/dist/analyzer/typeUtils.js +33 -20
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +32 -20
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +5 -1
- package/dist/analyzer/types.js +20 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -0
- package/dist/backgroundAnalysis.js +6 -2
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -1
- package/dist/backgroundAnalysisBase.js +6 -1
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -0
- package/dist/backgroundThreadBase.js +19 -10
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/commandController.d.ts +2 -1
- package/dist/commands/commandController.js +3 -0
- package/dist/commands/commandController.js.map +1 -1
- package/dist/commands/createTypeStub.d.ts +1 -1
- package/dist/commands/createTypeStub.js +3 -3
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.d.ts +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +5 -5
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.d.ts +1 -1
- package/dist/commands/quickActionCommand.js +2 -2
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/commands/restartServer.d.ts +1 -1
- package/dist/common/cancellationUtils.js +2 -2
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/caseSensitivityDetector.d.ts +6 -0
- package/dist/common/caseSensitivityDetector.js +18 -0
- package/dist/common/caseSensitivityDetector.js.map +1 -0
- package/dist/common/commandLineOptions.d.ts +3 -2
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/commandUtils.js +1 -1
- package/dist/common/commandUtils.js.map +1 -1
- package/dist/common/configOptions.js +3 -3
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +1 -0
- package/dist/common/envVarUtils.js +42 -7
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +4 -3
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +2 -2
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fileSystem.d.ts +0 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fullAccessHost.js +4 -3
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +62 -0
- package/dist/common/languageServerInterface.js +10 -0
- package/dist/common/languageServerInterface.js.map +1 -0
- package/dist/common/realFileSystem.d.ts +8 -4
- package/dist/common/realFileSystem.js +56 -17
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +21 -0
- package/dist/common/serviceKeys.js +26 -0
- package/dist/common/serviceKeys.js.map +1 -0
- package/dist/common/serviceProviderExtensions.d.ts +3 -15
- package/dist/common/serviceProviderExtensions.js +23 -27
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +5 -5
- package/dist/common/textEditTracker.js +35 -35
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/uri/constantUri.d.ts +36 -0
- package/dist/common/uri/constantUri.js +112 -0
- package/dist/common/uri/constantUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +3 -31
- package/dist/common/uri/emptyUri.js +3 -84
- package/dist/common/uri/emptyUri.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +1 -0
- package/dist/common/uri/fileUri.js +3 -2
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/uri.d.ts +11 -3
- package/dist/common/uri/uri.js +31 -20
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +11 -5
- package/dist/common/uri/uriUtils.js +31 -53
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/workspaceEditUtils.js +4 -4
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +11 -59
- package/dist/languageServerBase.js +18 -8
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +1 -1
- package/dist/languageService/analyzerServiceExecutor.js +4 -5
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -3
- package/dist/languageService/autoImporter.js +2 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +6 -6
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +43 -42
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +2 -2
- package/dist/languageService/completionProvider.js +10 -11
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +3 -3
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +2 -2
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +3 -3
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +3 -2
- package/dist/languageService/documentSymbolProvider.js +4 -3
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.js +2 -2
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.d.ts +2 -2
- package/dist/languageService/importSorter.js +1 -1
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +4 -4
- package/dist/languageService/referencesProvider.js +4 -4
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +5 -2
- package/dist/languageService/symbolIndexer.js +21 -11
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +2 -2
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +3 -0
- package/dist/localization/localize.js +22 -16
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +1 -0
- package/dist/localization/package.nls.de.json +1 -0
- package/dist/localization/package.nls.en-us.json +1 -0
- package/dist/localization/package.nls.es.json +1 -0
- package/dist/localization/package.nls.fr.json +1 -0
- package/dist/localization/package.nls.it.json +1 -0
- package/dist/localization/package.nls.ja.json +1 -0
- package/dist/localization/package.nls.ko.json +1 -0
- package/dist/localization/package.nls.pl.json +1 -0
- package/dist/localization/package.nls.pt-br.json +1 -0
- package/dist/localization/package.nls.qps-ploc.json +1 -0
- package/dist/localization/package.nls.ru.json +1 -0
- package/dist/localization/package.nls.tr.json +1 -0
- package/dist/localization/package.nls.zh-cn.json +1 -0
- package/dist/localization/package.nls.zh-tw.json +1 -0
- package/dist/nodeMain.d.ts +1 -1
- package/dist/nodeMain.js +2 -2
- package/dist/nodeMain.js.map +1 -1
- package/dist/parser/parser.d.ts +7 -4
- package/dist/parser/parser.js +7 -5
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +6 -6
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +3 -1
- package/dist/pyrightFileSystem.js +14 -9
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +0 -1
- package/dist/readonlyAugmentedFileSystem.js +0 -3
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.d.ts +4 -2
- package/dist/server.js +15 -11
- package/dist/server.js.map +1 -1
- package/dist/tests/cacheManager.test.js +35 -0
- package/dist/tests/cacheManager.test.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +18 -18
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/completions.test.js +4 -4
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +19 -14
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +2 -3
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/envVarUtils.test.js +77 -2
- package/dist/tests/envVarUtils.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +13 -13
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +10 -10
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +12 -10
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +1 -0
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +3 -2
- package/dist/tests/harness/fourslash/testLanguageService.js +2 -2
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +6 -6
- package/dist/tests/harness/fourslash/testState.js +42 -37
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testHost.d.ts +7 -0
- package/dist/tests/harness/testHost.js +33 -14
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -4
- package/dist/tests/harness/vfs/factory.js +7 -6
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +5 -3
- package/dist/tests/harness/vfs/filesystem.js +22 -15
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +35 -34
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +9 -10
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +1 -1
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +1 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +6 -5
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js +15 -10
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +1 -2
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +14 -14
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +6 -5
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/serialization.test.js +5 -5
- package/dist/tests/serialization.test.js.map +1 -1
- package/dist/tests/service.test.js +16 -25
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +1 -1
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -5
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +4 -4
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +5 -5
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.js +8 -6
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +4 -8
- package/dist/tests/testUtils.js +9 -10
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +3 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +11 -5
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.js +220 -199
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +7 -7
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +7 -5
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +15 -6
- package/dist/workspaceFactory.js +16 -10
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +5 -5
@@ -63,13 +63,13 @@ class TestLanguageService {
|
|
63
63
|
constructor(workspace, console, fs, options) {
|
64
64
|
this.console = console;
|
65
65
|
this.fs = fs;
|
66
|
-
this.rootUri = uri_1.Uri.file('/');
|
67
66
|
this.window = new TestWindow();
|
68
67
|
this.supportAdvancedEdits = true;
|
69
68
|
this._workspace = workspace;
|
69
|
+
this.serviceProvider = this._workspace.service.serviceProvider;
|
70
70
|
this._defaultWorkspace = {
|
71
71
|
workspaceName: '',
|
72
|
-
rootUri:
|
72
|
+
rootUri: undefined,
|
73
73
|
pythonPath: undefined,
|
74
74
|
pythonPathKind: workspaceFactory_1.WorkspacePythonPathKind.Mutable,
|
75
75
|
kinds: [workspaceFactory_1.WellKnownWorkspaceKinds.Test],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testLanguageService.js","sourceRoot":"","sources":["../../../../../../../src/tests/harness/fourslash/testLanguageService.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,2FAGqD;AAGrD,uDAAoF;AAEpF,2EAAwE;AACxE,iEAA8D;AAE9D,6DAA+C;AAE/C,qEAAkE;AAElE,iDAA8C;
|
1
|
+
{"version":3,"file":"testLanguageService.js","sourceRoot":"","sources":["../../../../../../../src/tests/harness/fourslash/testLanguageService.ts"],"names":[],"mappings":"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"}
|
@@ -7,16 +7,16 @@ import { ConfigOptions } from '../../../common/configOptions';
|
|
7
7
|
import { ConsoleInterface } from '../../../common/console';
|
8
8
|
import { FileEditAction } from '../../../common/editAction';
|
9
9
|
import { ReadOnlyFileSystem } from '../../../common/fileSystem';
|
10
|
+
import { LanguageServerInterface } from '../../../common/languageServerInterface';
|
10
11
|
import { ServiceProvider } from '../../../common/serviceProvider';
|
11
12
|
import { DocumentRange, Position, Range as PositionRange, TextRange } from '../../../common/textRange';
|
12
13
|
import { Uri } from '../../../common/uri/uri';
|
13
|
-
import { LanguageServerInterface } from '../../../languageServerBase';
|
14
14
|
import { DefinitionFilter } from '../../../languageService/definitionProvider';
|
15
15
|
import { CollectionResult } from '../../../languageService/documentSymbolCollector';
|
16
16
|
import { ParseNode } from '../../../parser/parseNodes';
|
17
|
-
import {
|
17
|
+
import { ParseFileResults } from '../../../parser/parser';
|
18
18
|
import { PyrightFileSystem } from '../../../pyrightFileSystem';
|
19
|
-
import { Workspace } from '../../../workspaceFactory';
|
19
|
+
import { NormalWorkspace, Workspace } from '../../../workspaceFactory';
|
20
20
|
import * as vfs from '../vfs/filesystem';
|
21
21
|
import { FourSlashData, FourSlashFile, Marker, MultiMap, Range } from './fourSlashTypes';
|
22
22
|
export interface TextChange {
|
@@ -38,7 +38,7 @@ export declare class TestState {
|
|
38
38
|
private readonly _hostSpecificFeatures;
|
39
39
|
readonly testFS: vfs.TestFileSystem;
|
40
40
|
readonly fs: PyrightFileSystem;
|
41
|
-
readonly workspace:
|
41
|
+
readonly workspace: NormalWorkspace;
|
42
42
|
readonly console: ConsoleInterface;
|
43
43
|
readonly rawConfigJson: any | undefined;
|
44
44
|
readonly serviceProvider: ServiceProvider;
|
@@ -163,7 +163,7 @@ export declare class TestState {
|
|
163
163
|
[marker: string]: {
|
164
164
|
references: DocumentRange[];
|
165
165
|
};
|
166
|
-
}, createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults:
|
166
|
+
}, createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange, convertToLocation?: (fs: ReadOnlyFileSystem, ranges: DocumentRange) => Location | undefined): void;
|
167
167
|
verifyShowCallHierarchyGetIncomingCalls(map: {
|
168
168
|
[marker: string]: {
|
169
169
|
items: _.FourSlashCallHierarchyItem[];
|
@@ -221,7 +221,7 @@ export declare class TestState {
|
|
221
221
|
protected verifyCompletionItem(expected: _.FourSlashCompletionItem, actual: CompletionItem): void;
|
222
222
|
private _convertGlobalOptionsToConfigOptions;
|
223
223
|
private _applyTestConfigOptions;
|
224
|
-
private
|
224
|
+
private _getParserOutput;
|
225
225
|
private _getTextRangeCollection;
|
226
226
|
private _messageAtLastKnownMarker;
|
227
227
|
private _checkPostEditInvariants;
|
@@ -78,7 +78,8 @@ const fourSlashTypes_1 = require("./fourSlashTypes");
|
|
78
78
|
const testLanguageService_1 = require("./testLanguageService");
|
79
79
|
const testStateUtils_1 = require("./testStateUtils");
|
80
80
|
const workspaceEditTestUtils_1 = require("./workspaceEditTestUtils");
|
81
|
-
|
81
|
+
// Make sure everything is in lower case since it has hard coded `isCaseSensitive`: true.
|
82
|
+
const testAccessHost = new testAccessHost_1.TestAccessHost(uriUtils_1.UriEx.file(vfs.MODULE_PATH), [factory_1.libFolder, factory_1.distlibFolder]);
|
82
83
|
class TestState {
|
83
84
|
constructor(projectRoot, testData, mountPaths, hostSpecificFeatures, testFS,
|
84
85
|
// Setting delayFileInitialization to true enables derived class constructors to execute
|
@@ -111,7 +112,7 @@ class TestState {
|
|
111
112
|
const service = this._createAnalysisService(this.console, this._hostSpecificFeatures.importResolverFactory, this._hostSpecificFeatures.backgroundAnalysisProgramFactory, configOptions);
|
112
113
|
this.workspace = {
|
113
114
|
workspaceName: 'test workspace',
|
114
|
-
rootUri: uri_1.Uri.file(vfsInfo.projectRoot),
|
115
|
+
rootUri: uri_1.Uri.file(vfsInfo.projectRoot, this.serviceProvider),
|
115
116
|
pythonPath: undefined,
|
116
117
|
pythonPathKind: workspaceFactory_1.WorkspacePythonPathKind.Mutable,
|
117
118
|
kinds: [workspaceFactory_1.WellKnownWorkspaceKinds.Test],
|
@@ -134,7 +135,6 @@ class TestState {
|
|
134
135
|
if (!delayFileInitialization) {
|
135
136
|
this.initializeFiles();
|
136
137
|
}
|
137
|
-
(0, uriUtils_1.setTestingMode)(true);
|
138
138
|
}
|
139
139
|
get importResolver() {
|
140
140
|
return this.workspace.service.getImportResolver();
|
@@ -162,7 +162,7 @@ class TestState {
|
|
162
162
|
for (const filePath of this.files) {
|
163
163
|
const file = this._vfsFiles[filePath];
|
164
164
|
if ((_a = file.meta) === null || _a === void 0 ? void 0 : _a["ipythonmode" /* MetadataOptionNames.ipythonMode */]) {
|
165
|
-
(_b = this.program.getSourceFile(uri_1.Uri.file(filePath))) === null || _b === void 0 ? void 0 : _b.test_enableIPythonMode(true);
|
165
|
+
(_b = this.program.getSourceFile(uri_1.Uri.file(filePath, this.serviceProvider))) === null || _b === void 0 ? void 0 : _b.test_enableIPythonMode(true);
|
166
166
|
}
|
167
167
|
}
|
168
168
|
}
|
@@ -194,7 +194,7 @@ class TestState {
|
|
194
194
|
}
|
195
195
|
}
|
196
196
|
getMappedFilePath(path) {
|
197
|
-
const uri = uri_1.Uri.file(path);
|
197
|
+
const uri = uri_1.Uri.file(path, this.serviceProvider);
|
198
198
|
this.importResolver.ensurePartialStubPackages(this.configOptions.findExecEnvironment(uri));
|
199
199
|
return this.fs.getMappedUri(uri).getFilePath();
|
200
200
|
}
|
@@ -271,7 +271,7 @@ class TestState {
|
|
271
271
|
const lineEnd = lineStart + this._getLineContent(index).length;
|
272
272
|
this.selectRange({
|
273
273
|
fileName: this.activeFile.fileName,
|
274
|
-
fileUri:
|
274
|
+
fileUri: this.activeFile.fileUri,
|
275
275
|
pos: lineStart,
|
276
276
|
end: lineEnd,
|
277
277
|
});
|
@@ -325,7 +325,7 @@ class TestState {
|
|
325
325
|
const fileToOpen = this.findFile(indexOrName);
|
326
326
|
fileToOpen.fileName = (0, pathUtils_1.normalizeSlashes)(fileToOpen.fileName);
|
327
327
|
this.activeFile = fileToOpen;
|
328
|
-
this.program.setFileOpened(
|
328
|
+
this.program.setFileOpened(this.activeFile.fileUri, 1, fileToOpen.content);
|
329
329
|
return fileToOpen;
|
330
330
|
}
|
331
331
|
openFiles(indexOrNames) {
|
@@ -493,6 +493,8 @@ class TestState {
|
|
493
493
|
// make sure we don't use cache built from other tests
|
494
494
|
this.workspace.service.invalidateAndForceReanalysis(backgroundAnalysisProgram_1.InvalidatedReason.Reanalyzed);
|
495
495
|
this.analyze();
|
496
|
+
// Local copy to use in capture.
|
497
|
+
const serviceProvider = this.serviceProvider;
|
496
498
|
for (const range of this.getRanges()) {
|
497
499
|
const name = this.getMarkerName(range.marker);
|
498
500
|
if (!map[name]) {
|
@@ -552,7 +554,7 @@ class TestState {
|
|
552
554
|
// Might be a URI. For comparison purposes in a test, convert it into a
|
553
555
|
// file path.
|
554
556
|
if (a.startsWith('file://')) {
|
555
|
-
return (0, pathUtils_1.normalizeSlashes)(uri_1.Uri.parse(a,
|
557
|
+
return (0, pathUtils_1.normalizeSlashes)(uri_1.Uri.parse(a, serviceProvider).getFilePath());
|
556
558
|
}
|
557
559
|
return (0, pathUtils_1.normalizeSlashes)(a);
|
558
560
|
}
|
@@ -566,7 +568,7 @@ class TestState {
|
|
566
568
|
// Convert command arguments to file Uri strings. That's the expected input for command arguments.
|
567
569
|
const convertedArgs = (_a = command.arguments) === null || _a === void 0 ? void 0 : _a.map((arg) => {
|
568
570
|
if (typeof arg === 'string' && (arg.endsWith('.py') || arg.endsWith('.pyi'))) {
|
569
|
-
return uri_1.Uri.file(arg).toString();
|
571
|
+
return uri_1.Uri.file(arg, this.serviceProvider).toString();
|
570
572
|
}
|
571
573
|
return arg;
|
572
574
|
});
|
@@ -604,7 +606,7 @@ class TestState {
|
|
604
606
|
const codeActions = await this._getCodeActions(range);
|
605
607
|
if (verifyCodeActionCount) {
|
606
608
|
if (codeActions.length !== Object.keys(map).length) {
|
607
|
-
this.raiseError(`doesn't contain expected result: ${(0, utils_1.stringify)(map[name])}, actual: ${(0, utils_1.stringify)(codeActions)}`);
|
609
|
+
this.raiseError(`doesn't contain expected result count: ${(0, utils_1.stringify)(map[name])}, actual: ${(0, utils_1.stringify)(codeActions)}`);
|
608
610
|
}
|
609
611
|
}
|
610
612
|
const matches = codeActions.filter((c) => c.title === map[name].title);
|
@@ -769,7 +771,7 @@ class TestState {
|
|
769
771
|
}
|
770
772
|
const expected = map[name];
|
771
773
|
const position = this.convertOffsetToPosition(fileName, marker.position);
|
772
|
-
const actual = new signatureHelpProvider_1.SignatureHelpProvider(this.program, uri_1.Uri.file(fileName), position, docFormat,
|
774
|
+
const actual = new signatureHelpProvider_1.SignatureHelpProvider(this.program, uri_1.Uri.file(fileName, this.serviceProvider), position, docFormat,
|
773
775
|
/* hasSignatureLabelOffsetCapability */ true,
|
774
776
|
/* hasActiveParameterCapability */ true,
|
775
777
|
/* context */ undefined, vscode_languageserver_1.CancellationToken.None).getSignatureHelp();
|
@@ -822,11 +824,11 @@ class TestState {
|
|
822
824
|
var _a;
|
823
825
|
return {
|
824
826
|
...c,
|
825
|
-
uri: (_a = c.uri) !== null && _a !== void 0 ? _a : uri_1.Uri.file(c.path),
|
827
|
+
uri: (_a = c.uri) !== null && _a !== void 0 ? _a : uri_1.Uri.file(c.path, this.serviceProvider),
|
826
828
|
};
|
827
829
|
});
|
828
830
|
const position = this.convertOffsetToPosition(fileName, marker.position);
|
829
|
-
const actual = new referencesProvider_1.ReferencesProvider(this.program, vscode_languageserver_1.CancellationToken.None, createDocumentRange, convertToLocation).reportReferences(uri_1.Uri.file(fileName), position, /* includeDeclaration */ true);
|
831
|
+
const actual = new referencesProvider_1.ReferencesProvider(this.program, vscode_languageserver_1.CancellationToken.None, createDocumentRange, convertToLocation).reportReferences(uri_1.Uri.file(fileName, this.serviceProvider), position, /* includeDeclaration */ true);
|
830
832
|
assert_1.default.strictEqual((_a = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _a !== void 0 ? _a : 0, expected.length, `${name} has failed`);
|
831
833
|
for (const r of (0, navigationUtils_1.convertDocumentRangesToLocation)(this.program.fileSystem, expected, convertToLocation)) {
|
832
834
|
assert_1.default.equal(actual === null || actual === void 0 ? void 0 : actual.filter((d) => this._deepEqual(d, r)).length, 1);
|
@@ -846,7 +848,7 @@ class TestState {
|
|
846
848
|
const expectedRange = map[name].items.map((x) => x.range);
|
847
849
|
const expectedName = map[name].items.map((x) => x.name);
|
848
850
|
const position = this.convertOffsetToPosition(fileName, marker.position);
|
849
|
-
const actual = new callHierarchyProvider_1.CallHierarchyProvider(this.program, uri_1.Uri.file(fileName), position, vscode_languageserver_1.CancellationToken.None).getIncomingCalls();
|
851
|
+
const actual = new callHierarchyProvider_1.CallHierarchyProvider(this.program, uri_1.Uri.file(fileName, this.serviceProvider), position, vscode_languageserver_1.CancellationToken.None).getIncomingCalls();
|
850
852
|
assert_1.default.strictEqual((_a = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _a !== void 0 ? _a : 0, expectedFilePath.length, `${name} has failed`);
|
851
853
|
assert_1.default.strictEqual((_b = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _b !== void 0 ? _b : 0, expectedRange.length, `${name} has failed`);
|
852
854
|
assert_1.default.strictEqual((_c = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _c !== void 0 ? _c : 0, expectedName.length, `${name} has failed`);
|
@@ -854,7 +856,7 @@ class TestState {
|
|
854
856
|
for (const a of actual) {
|
855
857
|
assert_1.default.strictEqual(expectedRange === null || expectedRange === void 0 ? void 0 : expectedRange.filter((e) => this._deepEqual(a.from.range, e)).length, 1);
|
856
858
|
assert_1.default.strictEqual(expectedName === null || expectedName === void 0 ? void 0 : expectedName.filter((e) => this._deepEqual(a.from.name, e)).length, 1);
|
857
|
-
assert_1.default.ok((expectedFilePath === null || expectedFilePath === void 0 ? void 0 : expectedFilePath.filter((e) => this._deepEqual(a.from.uri, uri_1.Uri.file(e).toString())).length) >= 1);
|
859
|
+
assert_1.default.ok((expectedFilePath === null || expectedFilePath === void 0 ? void 0 : expectedFilePath.filter((e) => this._deepEqual(a.from.uri, uri_1.Uri.file(e, this.serviceProvider).toString())).length) >= 1);
|
858
860
|
}
|
859
861
|
}
|
860
862
|
}
|
@@ -872,7 +874,7 @@ class TestState {
|
|
872
874
|
const expectedRange = map[name].items.map((x) => x.range);
|
873
875
|
const expectedName = map[name].items.map((x) => x.name);
|
874
876
|
const position = this.convertOffsetToPosition(fileName, marker.position);
|
875
|
-
const actual = new callHierarchyProvider_1.CallHierarchyProvider(this.program, uri_1.Uri.file(fileName), position, vscode_languageserver_1.CancellationToken.None).getOutgoingCalls();
|
877
|
+
const actual = new callHierarchyProvider_1.CallHierarchyProvider(this.program, uri_1.Uri.file(fileName, this.serviceProvider), position, vscode_languageserver_1.CancellationToken.None).getOutgoingCalls();
|
876
878
|
assert_1.default.strictEqual((_a = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _a !== void 0 ? _a : 0, expectedFilePath.length, `${name} has failed`);
|
877
879
|
assert_1.default.strictEqual((_b = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _b !== void 0 ? _b : 0, expectedRange.length, `${name} has failed`);
|
878
880
|
assert_1.default.strictEqual((_c = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _c !== void 0 ? _c : 0, expectedName.length, `${name} has failed`);
|
@@ -880,7 +882,7 @@ class TestState {
|
|
880
882
|
for (const a of actual) {
|
881
883
|
assert_1.default.strictEqual(expectedRange === null || expectedRange === void 0 ? void 0 : expectedRange.filter((e) => this._deepEqual(a.to.range, e)).length, 1);
|
882
884
|
assert_1.default.strictEqual(expectedName === null || expectedName === void 0 ? void 0 : expectedName.filter((e) => this._deepEqual(a.to.name, e)).length, 1);
|
883
|
-
assert_1.default.ok((expectedFilePath === null || expectedFilePath === void 0 ? void 0 : expectedFilePath.filter((e) => this._deepEqual(a.to.uri, uri_1.Uri.file(e).toString())).length) >= 1);
|
885
|
+
assert_1.default.ok((expectedFilePath === null || expectedFilePath === void 0 ? void 0 : expectedFilePath.filter((e) => this._deepEqual(a.to.uri, uri_1.Uri.file(e, this.serviceProvider).toString())).length) >= 1);
|
884
886
|
}
|
885
887
|
}
|
886
888
|
}
|
@@ -906,7 +908,7 @@ class TestState {
|
|
906
908
|
const fileName = marker.fileName;
|
907
909
|
const expected = map[name].references;
|
908
910
|
const position = this.convertOffsetToPosition(fileName, marker.position);
|
909
|
-
const actual = new documentHighlightProvider_1.DocumentHighlightProvider(this.program, uri_1.Uri.file(fileName), position, vscode_languageserver_1.CancellationToken.None).getDocumentHighlight();
|
911
|
+
const actual = new documentHighlightProvider_1.DocumentHighlightProvider(this.program, uri_1.Uri.file(fileName, this.serviceProvider), position, vscode_languageserver_1.CancellationToken.None).getDocumentHighlight();
|
910
912
|
assert_1.default.equal((_a = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _a !== void 0 ? _a : 0, expected.length);
|
911
913
|
for (const r of expected) {
|
912
914
|
const match = actual === null || actual === void 0 ? void 0 : actual.filter((h) => this._deepEqual(h.range, r.range));
|
@@ -936,7 +938,7 @@ class TestState {
|
|
936
938
|
continue;
|
937
939
|
}
|
938
940
|
const expected = map[name].definitions;
|
939
|
-
const uri = uri_1.Uri.file(fileName);
|
941
|
+
const uri = uri_1.Uri.file(fileName, this.serviceProvider);
|
940
942
|
// If we're going to def from a file, act like it's open.
|
941
943
|
if (!this.program.getSourceFileInfo(uri)) {
|
942
944
|
const file = this.testData.files.find((v) => v.fileName === fileName);
|
@@ -964,7 +966,7 @@ class TestState {
|
|
964
966
|
}
|
965
967
|
const expected = map[name].definitions;
|
966
968
|
const position = this.convertOffsetToPosition(fileName, marker.position);
|
967
|
-
let actual = new definitionProvider_1.TypeDefinitionProvider(this.program, uri_1.Uri.file(fileName), position, vscode_languageserver_1.CancellationToken.None).getDefinitions();
|
969
|
+
let actual = new definitionProvider_1.TypeDefinitionProvider(this.program, uri_1.Uri.file(fileName, this.serviceProvider), position, vscode_languageserver_1.CancellationToken.None).getDefinitions();
|
968
970
|
actual = this.fixupDefinitionsToMatchExpected(actual);
|
969
971
|
assert_1.default.strictEqual((_a = actual === null || actual === void 0 ? void 0 : actual.length) !== null && _a !== void 0 ? _a : 0, expected.length, name);
|
970
972
|
for (const r of expected) {
|
@@ -985,11 +987,13 @@ class TestState {
|
|
985
987
|
var _a;
|
986
988
|
return {
|
987
989
|
...c,
|
988
|
-
fileUri: (_a = c.fileUri) !== null && _a !== void 0 ? _a : uri_1.Uri.file(c.filePath),
|
990
|
+
fileUri: (_a = c.fileUri) !== null && _a !== void 0 ? _a : uri_1.Uri.file(c.filePath, this.serviceProvider),
|
989
991
|
};
|
990
992
|
});
|
991
993
|
const position = this.convertOffsetToPosition(fileName, marker.position);
|
992
|
-
const actual = new renameProvider_1.RenameProvider(this.program, isUntitled
|
994
|
+
const actual = new renameProvider_1.RenameProvider(this.program, isUntitled
|
995
|
+
? uri_1.Uri.parse(`untitled:${fileName.replace(/\\/g, '/')}`, this.serviceProvider)
|
996
|
+
: uri_1.Uri.file(fileName, this.serviceProvider), position, vscode_languageserver_1.CancellationToken.None).renameSymbol(expected.newName, /* isDefaultWorkspace */ false, isUntitled);
|
993
997
|
(0, workspaceEditTestUtils_1.verifyWorkspaceEdit)((0, workspaceEditUtils_1.convertToWorkspaceEdit)(this.program.fileSystem, { edits: expected.changes, fileOperations: [] }), actual !== null && actual !== void 0 ? actual : { documentChanges: [] });
|
994
998
|
}
|
995
999
|
}
|
@@ -1056,7 +1060,7 @@ class TestState {
|
|
1056
1060
|
snippet: true,
|
1057
1061
|
lazyEdit: false,
|
1058
1062
|
};
|
1059
|
-
const provider = new completionProvider_1.CompletionProvider(this.program, uri_1.Uri.file(filePath), completionPosition, options, vscode_languageserver_1.CancellationToken.None);
|
1063
|
+
const provider = new completionProvider_1.CompletionProvider(this.program, uri_1.Uri.file(filePath, this.serviceProvider), completionPosition, options, vscode_languageserver_1.CancellationToken.None);
|
1060
1064
|
return {
|
1061
1065
|
getCompletions: () => provider.getCompletions(),
|
1062
1066
|
resolveCompletionItem: (i) => provider.resolveCompletionItem(i),
|
@@ -1131,7 +1135,7 @@ class TestState {
|
|
1131
1135
|
}
|
1132
1136
|
}
|
1133
1137
|
_convertGlobalOptionsToConfigOptions(projectRoot, mountPaths) {
|
1134
|
-
const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.file(projectRoot));
|
1138
|
+
const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.file(projectRoot, this.serviceProvider));
|
1135
1139
|
// add more global options as we need them
|
1136
1140
|
const newConfigOptions = this._applyTestConfigOptions(configOptions, mountPaths);
|
1137
1141
|
// default tests to run use compact signatures.
|
@@ -1145,7 +1149,7 @@ class TestState {
|
|
1145
1149
|
configOptions.checkOnlyOpenFiles = false;
|
1146
1150
|
// make sure we set typing path
|
1147
1151
|
if (configOptions.stubPath === undefined) {
|
1148
|
-
configOptions.stubPath = uri_1.Uri.file(vfs.MODULE_PATH).combinePaths('typings');
|
1152
|
+
configOptions.stubPath = uri_1.Uri.file(vfs.MODULE_PATH, this.serviceProvider).combinePaths('typings');
|
1149
1153
|
}
|
1150
1154
|
configOptions.include.push((0, uriUtils_1.getFileSpec)(configOptions.projectRoot, '.'));
|
1151
1155
|
configOptions.exclude.push((0, uriUtils_1.getFileSpec)(configOptions.projectRoot, factory_1.typeshedFolder.getFilePath()));
|
@@ -1161,19 +1165,20 @@ class TestState {
|
|
1161
1165
|
}
|
1162
1166
|
return configOptions;
|
1163
1167
|
}
|
1164
|
-
|
1165
|
-
const file = this.program.getBoundSourceFile(uri_1.Uri.file(fileName));
|
1168
|
+
_getParserOutput(fileName) {
|
1169
|
+
const file = this.program.getBoundSourceFile(uri_1.Uri.file(fileName, this.serviceProvider));
|
1166
1170
|
return file === null || file === void 0 ? void 0 : file.getParseResults();
|
1167
1171
|
}
|
1168
1172
|
_getTextRangeCollection(fileName) {
|
1173
|
+
var _a;
|
1169
1174
|
if (this.files.includes(fileName)) {
|
1170
|
-
const
|
1171
|
-
if (
|
1172
|
-
return
|
1175
|
+
const tokenizerOutput = (_a = this._getParserOutput(fileName)) === null || _a === void 0 ? void 0 : _a.tokenizerOutput;
|
1176
|
+
if (tokenizerOutput) {
|
1177
|
+
return tokenizerOutput.lines;
|
1173
1178
|
}
|
1174
1179
|
}
|
1175
1180
|
// slow path
|
1176
|
-
const fileContents = this.fs.readFileSync(uri_1.Uri.file(fileName), 'utf8');
|
1181
|
+
const fileContents = this.fs.readFileSync(uri_1.Uri.file(fileName, this.serviceProvider), 'utf8');
|
1177
1182
|
const tokenizer = new tokenizer_1.Tokenizer();
|
1178
1183
|
return tokenizer.tokenize(fileContents).lines;
|
1179
1184
|
}
|
@@ -1190,7 +1195,7 @@ class TestState {
|
|
1190
1195
|
var _a, _b;
|
1191
1196
|
let fileContent = this.getFileContent(fileName);
|
1192
1197
|
fileContent = fileContent.slice(0, editStart) + newText + fileContent.slice(editEnd);
|
1193
|
-
const uri = uri_1.Uri.file(fileName);
|
1198
|
+
const uri = uri_1.Uri.file(fileName, this.serviceProvider);
|
1194
1199
|
this.testFS.writeFileSync(uri, fileContent, 'utf8');
|
1195
1200
|
const newVersion = ((_b = (_a = this.program.getSourceFile(uri)) === null || _a === void 0 ? void 0 : _a.getClientVersion()) !== null && _b !== void 0 ? _b : -1) + 1;
|
1196
1201
|
this.program.setFileOpened(uri, newVersion, fileContent);
|
@@ -1307,7 +1312,7 @@ class TestState {
|
|
1307
1312
|
return position <= editStart ? position : position < editEnd ? -1 : position + length - +(editEnd - editStart);
|
1308
1313
|
}
|
1309
1314
|
_getDiagnosticsPerFile() {
|
1310
|
-
const sourceFiles = this.files.map((f) => this.program.getSourceFile(uri_1.Uri.file(f)));
|
1315
|
+
const sourceFiles = this.files.map((f) => this.program.getSourceFile(uri_1.Uri.file(f, this.serviceProvider)));
|
1311
1316
|
const results = sourceFiles.map((sourceFile, index) => {
|
1312
1317
|
if (sourceFile) {
|
1313
1318
|
const diagnostics = sourceFile.getDiagnostics(this.configOptions) || [];
|
@@ -1347,7 +1352,7 @@ class TestState {
|
|
1347
1352
|
const fileExtension = (0, pathUtils_1.getFileExtension)(path).toLowerCase();
|
1348
1353
|
return fileExtension === '.py' || fileExtension === '.pyi';
|
1349
1354
|
})
|
1350
|
-
.map((path) => uri_1.Uri.file(path))
|
1355
|
+
.map((path) => uri_1.Uri.file(path, this.serviceProvider))
|
1351
1356
|
.filter((path) => service.isTracked(path)));
|
1352
1357
|
return service;
|
1353
1358
|
}
|
@@ -1362,7 +1367,7 @@ class TestState {
|
|
1362
1367
|
return true;
|
1363
1368
|
}
|
1364
1369
|
async _waitForFile(filePath) {
|
1365
|
-
const uri = uri_1.Uri.file(filePath);
|
1370
|
+
const uri = uri_1.Uri.file(filePath, this.serviceProvider);
|
1366
1371
|
while (!this.fs.existsSync(uri)) {
|
1367
1372
|
await new Promise((res) => setTimeout(() => {
|
1368
1373
|
res();
|
@@ -1383,7 +1388,7 @@ class TestState {
|
|
1383
1388
|
const normalizedFilePath = (0, pathUtils_1.normalizeSlashes)(filePath);
|
1384
1389
|
// wait until the file exists
|
1385
1390
|
await this._waitForFile(normalizedFilePath);
|
1386
|
-
const actual = this.fs.readFileSync(uri_1.Uri.file(normalizedFilePath), 'utf8');
|
1391
|
+
const actual = this.fs.readFileSync(uri_1.Uri.file(normalizedFilePath, this.serviceProvider), 'utf8');
|
1387
1392
|
if (actual !== expected) {
|
1388
1393
|
this.raiseError(`doesn't contain expected result: ${(0, utils_1.stringify)(expected)}, actual: ${(0, utils_1.stringify)(actual)}`);
|
1389
1394
|
}
|
@@ -1451,7 +1456,7 @@ function getNodeAtMarker(codeOrState, markerName = 'marker') {
|
|
1451
1456
|
(0, assert_1.default)(sourceFile);
|
1452
1457
|
const parserResults = sourceFile.getParseResults();
|
1453
1458
|
(0, assert_1.default)(parserResults);
|
1454
|
-
const node = (0, parseTreeUtils_1.findNodeByOffset)(parserResults.parseTree, marker.position);
|
1459
|
+
const node = (0, parseTreeUtils_1.findNodeByOffset)(parserResults.parserOutput.parseTree, marker.position);
|
1455
1460
|
(0, assert_1.default)(node);
|
1456
1461
|
return node;
|
1457
1462
|
}
|