@zzzen/pyright-internal 1.2.0-dev.20220703 → 1.2.0-dev.20220724
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/README.md +82 -1
- package/dist/analyzer/analysis.js +1 -1
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/analyzerFileInfo.d.ts +2 -1
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/binder.js +15 -1
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +100 -51
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +0 -1
- package/dist/analyzer/codeFlowEngine.js +196 -197
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +6 -7
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +13 -4
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/functionTransform.js +2 -1
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.js +5 -4
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +1 -1
- package/dist/analyzer/importStatementUtils.js +47 -18
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +6 -1
- package/dist/analyzer/parseTreeUtils.js +118 -10
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +2 -2
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +2 -2
- package/dist/analyzer/program.js +1 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/service.d.ts +4 -3
- package/dist/analyzer/service.js +40 -39
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +6 -1
- package/dist/analyzer/sourceFile.js +57 -14
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.d.ts +1 -1
- package/dist/analyzer/typeEvaluator.js +754 -618
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +15 -15
- package/dist/analyzer/typeEvaluatorWithTracker.js +8 -7
- package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +2 -0
- package/dist/analyzer/typeGuards.js +47 -14
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -3
- package/dist/analyzer/typeUtils.js +103 -27
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +1 -0
- package/dist/analyzer/typedDicts.js +27 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +15 -5
- package/dist/analyzer/types.js +107 -9
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -1
- package/dist/backgroundAnalysisBase.js +7 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +1 -0
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/common/chokidarFileWatcherProvider.d.ts +1 -2
- package/dist/common/chokidarFileWatcherProvider.js +0 -3
- package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +4 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +2 -1
- package/dist/common/diagnostic.js +2 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +3 -0
- package/dist/common/diagnosticSink.js +15 -2
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -0
- package/dist/common/editAction.js +15 -0
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/fileSystem.d.ts +4 -1
- package/dist/common/fileSystem.js +6 -4
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +2 -2
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/textEditUtils.d.ts +22 -2
- package/dist/common/textEditUtils.js +138 -1
- package/dist/common/textEditUtils.js.map +1 -1
- package/dist/common/uriParser.d.ts +2 -0
- package/dist/common/uriParser.js +11 -0
- package/dist/common/uriParser.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -18
- package/dist/languageServerBase.js +75 -61
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -2
- package/dist/languageService/codeActionProvider.js +1 -1
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +15 -11
- package/dist/languageService/completionProvider.js +76 -5
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/indentationUtils.js +3 -2
- package/dist/languageService/indentationUtils.js.map +1 -1
- package/dist/languageService/insertionPointUtils.d.ts +9 -0
- package/dist/languageService/insertionPointUtils.js +110 -0
- package/dist/languageService/insertionPointUtils.js.map +1 -0
- package/dist/languageService/renameModuleProvider.d.ts +1 -4
- package/dist/languageService/renameModuleProvider.js +10 -46
- package/dist/languageService/renameModuleProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +4 -2
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +1 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +13 -0
- package/dist/localization/localize.js +4 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +4 -0
- package/dist/parser/parser.d.ts +2 -1
- package/dist/parser/parser.js +11 -2
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +2 -1
- package/dist/parser/tokenizer.js +3 -2
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/pyright.js +3 -1
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +20 -2
- package/dist/pyrightFileSystem.js +29 -2
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/server.js +4 -4
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +4 -1
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +9 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +47 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.js +29 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -0
- package/dist/tests/fourslash/fourslash.d.ts +1 -0
- package/dist/tests/fourslash/import.multipart.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/import.multipart.fourslash.js +18 -0
- package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -0
- package/dist/tests/fourslash/signature.simple.fourslash.js +16 -0
- package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +12 -3
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/insertionPointUtils.test.d.ts +1 -0
- package/dist/tests/insertionPointUtils.test.js +74 -0
- package/dist/tests/insertionPointUtils.test.js.map +1 -0
- package/dist/tests/pyrightFileSystem.test.js +28 -0
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/renameModuleTestUtils.js +5 -87
- package/dist/tests/renameModuleTestUtils.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +8 -0
- package/dist/tests/testStateUtils.js +110 -0
- package/dist/tests/testStateUtils.js.map +1 -0
- package/dist/tests/testUtils.d.ts +2 -1
- package/dist/tests/testUtils.js +11 -7
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +2 -6
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +16 -4
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +9 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +26 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +6 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/workspaceMap.d.ts +1 -0
- package/dist/workspaceMap.js +10 -0
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +4 -3
@@ -0,0 +1,74 @@
|
|
1
|
+
"use strict";
|
2
|
+
/*
|
3
|
+
* insertionPointUtils.test.ts
|
4
|
+
* Copyright (c) Microsoft Corporation.
|
5
|
+
* Licensed under the MIT license.
|
6
|
+
*
|
7
|
+
* Unit tests for insertionPointUtils module.
|
8
|
+
*/
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
11
|
+
};
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
+
const assert_1 = __importDefault(require("assert"));
|
14
|
+
const pathUtils_1 = require("../common/pathUtils");
|
15
|
+
const insertionPointUtils_1 = require("../languageService/insertionPointUtils");
|
16
|
+
const testState_1 = require("./harness/fourslash/testState");
|
17
|
+
test('insert symbol to module', () => {
|
18
|
+
const code = `
|
19
|
+
//// def foo(): pass[|/*marker*/|]
|
20
|
+
`;
|
21
|
+
testInsertionPoint(code, 'bar');
|
22
|
+
});
|
23
|
+
test('insert symbol to module before private symbol', () => {
|
24
|
+
const code = `
|
25
|
+
//// def foo(): pass[|/*marker*/|]
|
26
|
+
//// def __private(): pass
|
27
|
+
`;
|
28
|
+
testInsertionPoint(code, 'bar');
|
29
|
+
});
|
30
|
+
test('insert private symbol to module', () => {
|
31
|
+
const code = `
|
32
|
+
//// def foo(): pass
|
33
|
+
//// def __private(): pass[|/*marker*/|]
|
34
|
+
`;
|
35
|
+
testInsertionPoint(code, '__another');
|
36
|
+
});
|
37
|
+
test('no insertion on existing symbol', () => {
|
38
|
+
const code = `
|
39
|
+
//// [|/*marker*/|]def foo(): pass
|
40
|
+
//// def __private(): pass
|
41
|
+
`;
|
42
|
+
testNoInsertionPoint(code, 'foo');
|
43
|
+
});
|
44
|
+
test('no insertion symbol with imported symbol with same name', () => {
|
45
|
+
const code = `
|
46
|
+
//// from os import path[|/*marker*/|]
|
47
|
+
//// def __private(): pass
|
48
|
+
`;
|
49
|
+
testNoInsertionPoint(code, 'path');
|
50
|
+
});
|
51
|
+
test('insert symbol with imported symbol with same name', () => {
|
52
|
+
const code = `
|
53
|
+
//// from os import path[|/*marker*/|]
|
54
|
+
//// def __private(): pass
|
55
|
+
`;
|
56
|
+
testInsertionPoint(code, 'path', {
|
57
|
+
symbolDeclToIgnore: (0, pathUtils_1.normalizeSlashes)('\\typeshed-fallback\\stdlib\\os\\__init__.pyi'),
|
58
|
+
});
|
59
|
+
});
|
60
|
+
function testInsertionPoint(code, symbolName, options) {
|
61
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
62
|
+
const marker = state.getMarkerByName('marker');
|
63
|
+
const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
|
64
|
+
const actual = (0, insertionPointUtils_1.getInsertionPointForSymbolUnderModule)(state.program.evaluator, parseResults, symbolName, options);
|
65
|
+
assert_1.default.strictEqual(actual, marker.position);
|
66
|
+
}
|
67
|
+
function testNoInsertionPoint(code, symbolName, options) {
|
68
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
69
|
+
const marker = state.getMarkerByName('marker');
|
70
|
+
const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
|
71
|
+
const actual = (0, insertionPointUtils_1.getInsertionPointForSymbolUnderModule)(state.program.evaluator, parseResults, symbolName, options);
|
72
|
+
(0, assert_1.default)(!actual);
|
73
|
+
}
|
74
|
+
//# sourceMappingURL=insertionPointUtils.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"insertionPointUtils.test.js","sourceRoot":"","sources":["../../../src/tests/insertionPointUtils.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,oDAA4B;AAE5B,mDAAuD;AACvD,gFAAiH;AACjH,6DAAqE;AAErE,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACjC,MAAM,IAAI,GAAG;;KAEZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IACvD,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IACzC,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IACzC,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACjE,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;QAC7B,kBAAkB,EAAE,IAAA,4BAAgB,EAAC,+CAA+C,CAAC;KACxF,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAAY,EAAE,UAAkB,EAAE,OAA0B;IACpF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,eAAe,EAAG,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAA,2DAAqC,EAAC,KAAK,CAAC,OAAO,CAAC,SAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClH,gBAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,UAAkB,EAAE,OAA0B;IACtF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,eAAe,EAAG,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAA,2DAAqC,EAAC,KAAK,CAAC,OAAO,CAAC,SAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClH,IAAA,gBAAM,EAAC,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC"}
|
@@ -139,6 +139,34 @@ test('uri tests', () => {
|
|
139
139
|
fs.pendingRequest(file, false);
|
140
140
|
(0, assert_1.default)(!fs.removeUriMap('file://test.pyi', file));
|
141
141
|
});
|
142
|
+
test('bundled partial stubs', () => {
|
143
|
+
const bundledPath = (0, pathUtils_1.combinePaths)((0, pathUtils_1.normalizeSlashes)('/'), 'bundled');
|
144
|
+
const files = [
|
145
|
+
{
|
146
|
+
path: (0, pathUtils_1.combinePaths)(bundledPath, 'myLib-stubs', 'partialStub.pyi'),
|
147
|
+
content: 'def test(): ...',
|
148
|
+
},
|
149
|
+
{
|
150
|
+
path: (0, pathUtils_1.combinePaths)(bundledPath, 'myLib-stubs', 'py.typed'),
|
151
|
+
content: 'partial\n',
|
152
|
+
},
|
153
|
+
{
|
154
|
+
path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.py'),
|
155
|
+
content: 'def test(): pass',
|
156
|
+
},
|
157
|
+
{
|
158
|
+
path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'py.typed'),
|
159
|
+
content: '',
|
160
|
+
},
|
161
|
+
];
|
162
|
+
const fs = createFileSystem(files);
|
163
|
+
fs.processPartialStubPackages([bundledPath], [libraryRoot], bundledPath);
|
164
|
+
const stubFile = (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.pyi');
|
165
|
+
(0, assert_1.default)(!fs.existsSync(stubFile));
|
166
|
+
const myLib = (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib');
|
167
|
+
const entries = fs.readdirEntriesSync(myLib);
|
168
|
+
assert_1.default.strictEqual(2, entries.length);
|
169
|
+
});
|
142
170
|
function createFileSystem(files) {
|
143
171
|
const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: (0, pathUtils_1.normalizeSlashes)('/') });
|
144
172
|
for (const file of files) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pyrightFileSystem.test.js","sourceRoot":"","sources":["../../../src/tests/pyrightFileSystem.test.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"pyrightFileSystem.test.js","sourceRoot":"","sources":["../../../src/tests/pyrightFileSystem.test.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
/*
|
3
|
-
*
|
3
|
+
* renameModuleTestUtils.ts
|
4
4
|
* Copyright (c) Microsoft Corporation.
|
5
5
|
* Licensed under the MIT license.
|
6
6
|
*
|
7
|
-
*
|
7
|
+
* Test helpers for rename module tests
|
8
8
|
*/
|
9
9
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
10
10
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
@@ -14,11 +14,8 @@ exports.testRenameModule = exports.testMoveSymbolAtPosition = void 0;
|
|
14
14
|
const assert_1 = __importDefault(require("assert"));
|
15
15
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
16
16
|
const collectionUtils_1 = require("../common/collectionUtils");
|
17
|
-
const debug_1 = require("../common/debug");
|
18
17
|
const diagnosticRules_1 = require("../common/diagnosticRules");
|
19
|
-
const
|
20
|
-
const positionUtils_1 = require("../common/positionUtils");
|
21
|
-
const textRange_1 = require("../common/textRange");
|
18
|
+
const testStateUtils_1 = require("./testStateUtils");
|
22
19
|
function testMoveSymbolAtPosition(state, filePath, newFilePath, position, text, replacementText) {
|
23
20
|
const actions = state.program.moveSymbolAtPosition(filePath, newFilePath, position, vscode_languageserver_1.CancellationToken.None);
|
24
21
|
(0, assert_1.default)(actions);
|
@@ -52,8 +49,8 @@ exports.testRenameModule = testRenameModule;
|
|
52
49
|
function _verifyFileOperations(state, fileEditActions, ranges, replacementText) {
|
53
50
|
const editsPerFileMap = (0, collectionUtils_1.createMapFromItems)(fileEditActions.edits, (e) => e.filePath);
|
54
51
|
_verifyMissingImports();
|
55
|
-
|
56
|
-
|
52
|
+
(0, testStateUtils_1.verifyEdits)(state, fileEditActions, ranges, replacementText);
|
53
|
+
(0, testStateUtils_1.applyFileOperations)(state, fileEditActions);
|
57
54
|
// Make sure we don't have missing imports after the change.
|
58
55
|
_verifyMissingImports();
|
59
56
|
function _verifyMissingImports() {
|
@@ -63,86 +60,7 @@ function _verifyFileOperations(state, fileEditActions, ranges, replacementText)
|
|
63
60
|
}
|
64
61
|
}
|
65
62
|
}
|
66
|
-
function _verifyEdits(state, fileEditActions, ranges, replacementText) {
|
67
|
-
for (const edit of fileEditActions.edits) {
|
68
|
-
(0, assert_1.default)(ranges.some((r) => {
|
69
|
-
var _a, _b;
|
70
|
-
const data = (_a = r.marker) === null || _a === void 0 ? void 0 : _a.data;
|
71
|
-
const expectedText = (_b = replacementText !== null && replacementText !== void 0 ? replacementText : data === null || data === void 0 ? void 0 : data.r) !== null && _b !== void 0 ? _b : 'N/A';
|
72
|
-
const expectedRange = state.convertPositionRange(r);
|
73
|
-
return (r.fileName === edit.filePath &&
|
74
|
-
(0, textRange_1.rangesAreEqual)(expectedRange, edit.range) &&
|
75
|
-
expectedText.replace(/!n!/g, '\n') === edit.replacementText);
|
76
|
-
}), `can't find '${replacementText !== null && replacementText !== void 0 ? replacementText : edit.replacementText}'@'${edit.filePath}:(${edit.range.start.line},${edit.range.start.character})'`);
|
77
|
-
}
|
78
|
-
}
|
79
|
-
function _applyFileOperations(state, fileEditActions) {
|
80
|
-
// Apply changes
|
81
|
-
// First, apply text changes
|
82
|
-
const editsPerFileMap = (0, collectionUtils_1.createMapFromItems)(fileEditActions.edits, (e) => e.filePath);
|
83
|
-
for (const [editFileName, editsPerFile] of editsPerFileMap) {
|
84
|
-
const result = _applyEdits(state, editFileName, editsPerFile);
|
85
|
-
state.testFS.writeFileSync(editFileName, result.text, 'utf8');
|
86
|
-
// Update open file content if the file is in opened state.
|
87
|
-
if (result.version) {
|
88
|
-
let openedFilePath = editFileName;
|
89
|
-
const renamed = fileEditActions.fileOperations.find((o) => o.kind === 'rename' && o.oldFilePath === editFileName);
|
90
|
-
if ((renamed === null || renamed === void 0 ? void 0 : renamed.kind) === 'rename') {
|
91
|
-
openedFilePath = renamed.newFilePath;
|
92
|
-
state.program.setFileClosed(renamed.oldFilePath);
|
93
|
-
}
|
94
|
-
state.program.setFileOpened(openedFilePath, result.version + 1, [{ text: result.text }]);
|
95
|
-
}
|
96
|
-
}
|
97
|
-
// Second, apply filename change to disk or rename directory.
|
98
|
-
for (const fileOperation of fileEditActions.fileOperations) {
|
99
|
-
switch (fileOperation.kind) {
|
100
|
-
case 'create': {
|
101
|
-
state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.filePath));
|
102
|
-
state.testFS.writeFileSync(fileOperation.filePath, '');
|
103
|
-
break;
|
104
|
-
}
|
105
|
-
case 'rename': {
|
106
|
-
if ((0, pathUtils_1.isFile)(state.testFS, fileOperation.oldFilePath)) {
|
107
|
-
state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.newFilePath));
|
108
|
-
state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
|
109
|
-
// Add new file as tracked file
|
110
|
-
state.program.addTrackedFile(fileOperation.newFilePath);
|
111
|
-
}
|
112
|
-
else {
|
113
|
-
state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
|
114
|
-
}
|
115
|
-
break;
|
116
|
-
}
|
117
|
-
case 'delete': {
|
118
|
-
state.testFS.rimrafSync(fileOperation.filePath);
|
119
|
-
break;
|
120
|
-
}
|
121
|
-
default:
|
122
|
-
(0, debug_1.assertNever)(fileOperation);
|
123
|
-
}
|
124
|
-
}
|
125
|
-
// And refresh program.
|
126
|
-
state.importResolver.invalidateCache();
|
127
|
-
state.program.markAllFilesDirty(true);
|
128
|
-
}
|
129
63
|
function _verifyMissingImportsDiagnostics(diagnostics) {
|
130
64
|
(0, assert_1.default)(!diagnostics || diagnostics.filter((d) => d.getRule() === diagnosticRules_1.DiagnosticRule.reportMissingImports).length === 0, JSON.stringify(diagnostics.map((d) => d.message)));
|
131
65
|
}
|
132
|
-
function _applyEdits(state, filePath, edits) {
|
133
|
-
const sourceFile = state.program.getBoundSourceFile(filePath);
|
134
|
-
const parseResults = sourceFile.getParseResults();
|
135
|
-
const editsWithOffset = edits
|
136
|
-
.map((e) => ({
|
137
|
-
range: (0, positionUtils_1.convertRangeToTextRange)(e.range, parseResults.tokenizerOutput.lines),
|
138
|
-
text: e.replacementText,
|
139
|
-
}))
|
140
|
-
.sort((e1, e2) => e2.range.start - e1.range.start);
|
141
|
-
// Apply change in reverse order.
|
142
|
-
let current = parseResults.text;
|
143
|
-
for (const change of editsWithOffset) {
|
144
|
-
current = current.substr(0, change.range.start) + change.text + current.substr(textRange_1.TextRange.getEnd(change.range));
|
145
|
-
}
|
146
|
-
return { version: sourceFile.getClientVersion(), text: current };
|
147
|
-
}
|
148
66
|
//# sourceMappingURL=renameModuleTestUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"renameModuleTestUtils.js","sourceRoot":"","sources":["../../../src/tests/renameModuleTestUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,oDAA4B;AAC5B,iEAA0D;AAE1D,+DAA4E;
|
1
|
+
{"version":3,"file":"renameModuleTestUtils.js","sourceRoot":"","sources":["../../../src/tests/renameModuleTestUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,oDAA4B;AAC5B,iEAA0D;AAE1D,+DAA4E;AAE5E,+DAA2D;AAK3D,qDAAoE;AAEpE,SAAgB,wBAAwB,CACpC,KAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,QAAkB,EAClB,IAAa,EACb,eAAwB;IAExB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,yCAAiB,CAAC,IAAI,CAAC,CAAC;IAC5G,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS,EAAE;QACpB,IAAA,6BAAW,EAAC,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;KAC3D;SAAM;QACH,IAAA,6BAAW,EACP,MAAM,EACN,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,IAAI,CAAA,CAAA,EAAA,CAAC,CACpD,CAAC;KACL;IAED,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAExD,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC;AAxBD,4DAwBC;AAED,SAAgB,gBAAgB,CAC5B,KAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,IAAa,EACb,eAAwB;IAExB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,yCAAiB,CAAC,IAAI,CAAC,CAAC;IAC9F,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAC;IAEpB,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS,EAAE;QACpB,IAAA,6BAAW,EAAC,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;KAC3D;SAAM;QACH,IAAA,6BAAW,EACP,MAAM,EACN,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,IAAI,CAAA,CAAA,EAAA,CAAC,CACpD,CAAC;KACL;IAED,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5D,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAExF,iEAAiE;IACjE,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;AACvE,CAAC;AA1BD,4CA0BC;AAED,SAAS,qBAAqB,CAC1B,KAAgB,EAChB,eAAgC,EAChC,MAAe,EACf,eAAmC;IAEnC,MAAM,eAAe,GAAG,IAAA,oCAAkB,EAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAErF,qBAAqB,EAAE,CAAC;IAExB,IAAA,4BAAW,EAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7D,IAAA,oCAAmB,EAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAE5C,4DAA4D;IAC5D,qBAAqB,EAAE,CAAC;IAExB,SAAS,qBAAqB;QAC1B,KAAK,MAAM,YAAY,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE;YAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAE,CAAC;YACnE,gCAAgC,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;SACpF;IACL,CAAC;AACL,CAAC;AAED,SAAS,gCAAgC,CAAC,WAAqC;IAC3E,IAAA,gBAAM,EACF,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,gCAAc,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,CAAC,EAC3G,IAAI,CAAC,SAAS,CAAC,WAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACrD,CAAC;AACN,CAAC"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { WorkspaceEdit } from 'vscode-languageserver-protocol';
|
2
|
+
import { FileEditAction, FileEditActions } from '../common/editAction';
|
3
|
+
import { FileSystem } from '../common/fileSystem';
|
4
|
+
import { Range } from './harness/fourslash/fourSlashTypes';
|
5
|
+
import { TestState } from './harness/fourslash/testState';
|
6
|
+
export declare function verifyEdits(state: TestState, fileEditActions: FileEditActions, ranges: Range[], replacementText: string | undefined): void;
|
7
|
+
export declare function applyFileOperations(state: TestState, fileEditActions: FileEditActions): void;
|
8
|
+
export declare function convertWorkspaceEditToFileEditActions(fs: FileSystem, edit: WorkspaceEdit): FileEditAction[];
|
@@ -0,0 +1,110 @@
|
|
1
|
+
"use strict";
|
2
|
+
/*
|
3
|
+
* testStateUtils.ts
|
4
|
+
* Copyright (c) Microsoft Corporation.
|
5
|
+
* Licensed under the MIT license.
|
6
|
+
*
|
7
|
+
* Test helpers for TestState
|
8
|
+
*/
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
11
|
+
};
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
+
exports.convertWorkspaceEditToFileEditActions = exports.applyFileOperations = exports.verifyEdits = void 0;
|
14
|
+
const assert_1 = __importDefault(require("assert"));
|
15
|
+
const collectionUtils_1 = require("../common/collectionUtils");
|
16
|
+
const debug_1 = require("../common/debug");
|
17
|
+
const pathUtils_1 = require("../common/pathUtils");
|
18
|
+
const positionUtils_1 = require("../common/positionUtils");
|
19
|
+
const textRange_1 = require("../common/textRange");
|
20
|
+
function verifyEdits(state, fileEditActions, ranges, replacementText) {
|
21
|
+
for (const edit of fileEditActions.edits) {
|
22
|
+
(0, assert_1.default)(ranges.some((r) => {
|
23
|
+
var _a, _b;
|
24
|
+
const data = (_a = r.marker) === null || _a === void 0 ? void 0 : _a.data;
|
25
|
+
const expectedText = (_b = replacementText !== null && replacementText !== void 0 ? replacementText : data === null || data === void 0 ? void 0 : data.r) !== null && _b !== void 0 ? _b : 'N/A';
|
26
|
+
const expectedRange = state.convertPositionRange(r);
|
27
|
+
return (r.fileName === edit.filePath &&
|
28
|
+
(0, textRange_1.rangesAreEqual)(expectedRange, edit.range) &&
|
29
|
+
expectedText.replace(/!n!/g, '\n') === edit.replacementText);
|
30
|
+
}), `can't find '${replacementText !== null && replacementText !== void 0 ? replacementText : edit.replacementText}'@'${edit.filePath}:(${edit.range.start.line},${edit.range.start.character})'`);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
exports.verifyEdits = verifyEdits;
|
34
|
+
function applyFileOperations(state, fileEditActions) {
|
35
|
+
// Apply changes
|
36
|
+
// First, apply text changes
|
37
|
+
const editsPerFileMap = (0, collectionUtils_1.createMapFromItems)(fileEditActions.edits, (e) => e.filePath);
|
38
|
+
for (const [editFileName, editsPerFile] of editsPerFileMap) {
|
39
|
+
const result = _applyEdits(state, editFileName, editsPerFile);
|
40
|
+
state.testFS.writeFileSync(editFileName, result.text, 'utf8');
|
41
|
+
// Update open file content if the file is in opened state.
|
42
|
+
if (result.version) {
|
43
|
+
let openedFilePath = editFileName;
|
44
|
+
const renamed = fileEditActions.fileOperations.find((o) => o.kind === 'rename' && o.oldFilePath === editFileName);
|
45
|
+
if ((renamed === null || renamed === void 0 ? void 0 : renamed.kind) === 'rename') {
|
46
|
+
openedFilePath = renamed.newFilePath;
|
47
|
+
state.program.setFileClosed(renamed.oldFilePath);
|
48
|
+
}
|
49
|
+
state.program.setFileOpened(openedFilePath, result.version + 1, [{ text: result.text }]);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
// Second, apply filename change to disk or rename directory.
|
53
|
+
for (const fileOperation of fileEditActions.fileOperations) {
|
54
|
+
switch (fileOperation.kind) {
|
55
|
+
case 'create': {
|
56
|
+
state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.filePath));
|
57
|
+
state.testFS.writeFileSync(fileOperation.filePath, '');
|
58
|
+
break;
|
59
|
+
}
|
60
|
+
case 'rename': {
|
61
|
+
if ((0, pathUtils_1.isFile)(state.testFS, fileOperation.oldFilePath)) {
|
62
|
+
state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.newFilePath));
|
63
|
+
state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
|
64
|
+
// Add new file as tracked file
|
65
|
+
state.program.addTrackedFile(fileOperation.newFilePath);
|
66
|
+
}
|
67
|
+
else {
|
68
|
+
state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
|
69
|
+
}
|
70
|
+
break;
|
71
|
+
}
|
72
|
+
case 'delete': {
|
73
|
+
state.testFS.rimrafSync(fileOperation.filePath);
|
74
|
+
break;
|
75
|
+
}
|
76
|
+
default:
|
77
|
+
(0, debug_1.assertNever)(fileOperation);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
// And refresh program.
|
81
|
+
state.importResolver.invalidateCache();
|
82
|
+
state.program.markAllFilesDirty(true);
|
83
|
+
}
|
84
|
+
exports.applyFileOperations = applyFileOperations;
|
85
|
+
function _applyEdits(state, filePath, edits) {
|
86
|
+
const sourceFile = state.program.getBoundSourceFile(filePath);
|
87
|
+
const parseResults = sourceFile.getParseResults();
|
88
|
+
const editsWithOffset = edits
|
89
|
+
.map((e) => ({
|
90
|
+
range: (0, positionUtils_1.convertRangeToTextRange)(e.range, parseResults.tokenizerOutput.lines),
|
91
|
+
text: e.replacementText,
|
92
|
+
}))
|
93
|
+
.sort((e1, e2) => e2.range.start - e1.range.start);
|
94
|
+
// Apply change in reverse order.
|
95
|
+
let current = parseResults.text;
|
96
|
+
for (const change of editsWithOffset) {
|
97
|
+
current = current.substr(0, change.range.start) + change.text + current.substr(textRange_1.TextRange.getEnd(change.range));
|
98
|
+
}
|
99
|
+
return { version: sourceFile.getClientVersion(), text: current };
|
100
|
+
}
|
101
|
+
function convertWorkspaceEditToFileEditActions(fs, edit) {
|
102
|
+
const actions = [];
|
103
|
+
for (const kv of Object.entries(edit.changes)) {
|
104
|
+
const filePath = (0, pathUtils_1.convertUriToPath)(fs, kv[0]);
|
105
|
+
kv[1].forEach((e) => actions.push({ filePath, range: e.range, replacementText: e.newText }));
|
106
|
+
}
|
107
|
+
return actions;
|
108
|
+
}
|
109
|
+
exports.convertWorkspaceEditToFileEditActions = convertWorkspaceEditToFileEditActions;
|
110
|
+
//# sourceMappingURL=testStateUtils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"testStateUtils.js","sourceRoot":"","sources":["../../../src/tests/testStateUtils.ts"],"names":[],"mappings":"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"}
|
@@ -10,6 +10,7 @@ export interface FileAnalysisResult {
|
|
10
10
|
warnings: Diagnostic[];
|
11
11
|
infos: Diagnostic[];
|
12
12
|
unusedCodes: Diagnostic[];
|
13
|
+
unreachableCodes: Diagnostic[];
|
13
14
|
deprecateds: Diagnostic[];
|
14
15
|
}
|
15
16
|
export interface FileParseResult {
|
@@ -24,4 +25,4 @@ export declare function buildAnalyzerFileInfo(filePath: string, fileContents: st
|
|
24
25
|
export declare function bindSampleFile(fileName: string, configOptions?: ConfigOptions): FileAnalysisResult;
|
25
26
|
export declare function typeAnalyzeSampleFiles(fileNames: string[], configOptions?: ConfigOptions): FileAnalysisResult[];
|
26
27
|
export declare function printDiagnostics(fileResults: FileAnalysisResult): void;
|
27
|
-
export declare function validateResults(results: FileAnalysisResult[], errorCount: number, warningCount?: number, infoCount?: number, unusedCode?: number, deprecated?: number): void;
|
28
|
+
export declare function validateResults(results: FileAnalysisResult[], errorCount: number, warningCount?: number, infoCount?: number, unusedCode?: number, unreachableCode?: number, deprecated?: number): void;
|
package/dist/tests/testUtils.js
CHANGED
@@ -34,6 +34,7 @@ const path = __importStar(require("path"));
|
|
34
34
|
const binder_1 = require("../analyzer/binder");
|
35
35
|
const importResolver_1 = require("../analyzer/importResolver");
|
36
36
|
const program_1 = require("../analyzer/program");
|
37
|
+
const sourceFile_1 = require("../analyzer/sourceFile");
|
37
38
|
const testWalker_1 = require("../analyzer/testWalker");
|
38
39
|
const configOptions_1 = require("../common/configOptions");
|
39
40
|
const debug_1 = require("../common/debug");
|
@@ -101,7 +102,7 @@ function buildAnalyzerFileInfo(filePath, fileContents, parseResults, configOptio
|
|
101
102
|
isInPyTypedPackage: false,
|
102
103
|
isTypingExtensionsStubFile: false,
|
103
104
|
isBuiltInStubFile: false,
|
104
|
-
|
105
|
+
ipythonMode: sourceFile_1.IPythonMode.None,
|
105
106
|
accessedSymbolSet: new Set(),
|
106
107
|
typingSymbolAliases: new Map(),
|
107
108
|
};
|
@@ -116,9 +117,6 @@ function bindSampleFile(fileName, configOptions = new configOptions_1.ConfigOpti
|
|
116
117
|
const fileInfo = buildAnalyzerFileInfo(filePath, parseInfo.fileContents, parseInfo.parseResults, configOptions);
|
117
118
|
const binder = new binder_1.Binder(fileInfo);
|
118
119
|
binder.bindModule(parseInfo.parseResults.parseTree);
|
119
|
-
// Walk the AST to verify internal consistency.
|
120
|
-
const testWalker = new testWalker_1.TestWalker();
|
121
|
-
testWalker.walk(parseInfo.parseResults.parseTree);
|
122
120
|
return {
|
123
121
|
filePath,
|
124
122
|
parseResults: parseInfo.parseResults,
|
@@ -126,6 +124,7 @@ function bindSampleFile(fileName, configOptions = new configOptions_1.ConfigOpti
|
|
126
124
|
warnings: fileInfo.diagnosticSink.getWarnings(),
|
127
125
|
infos: fileInfo.diagnosticSink.getInformation(),
|
128
126
|
unusedCodes: fileInfo.diagnosticSink.getUnusedCode(),
|
127
|
+
unreachableCodes: fileInfo.diagnosticSink.getUnreachableCode(),
|
129
128
|
deprecateds: fileInfo.diagnosticSink.getDeprecated(),
|
130
129
|
};
|
131
130
|
}
|
@@ -139,7 +138,7 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
|
|
139
138
|
const filePaths = fileNames.map((name) => resolveSampleFilePath(name));
|
140
139
|
program.setTrackedFiles(filePaths);
|
141
140
|
// Set a "pre-check callback" so we can evaluate the types of each NameNode
|
142
|
-
// prior to checking the full document.This will exercise the contextual
|
141
|
+
// prior to checking the full document. This will exercise the contextual
|
143
142
|
// evaluation logic.
|
144
143
|
program.setPreCheckCallback((parseResults, evaluator) => {
|
145
144
|
const nameTypeWalker = new testWalker_1.NameTypeWalker(evaluator);
|
@@ -160,7 +159,8 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
|
|
160
159
|
warnings: diagnostics.filter((diag) => diag.category === 1 /* Warning */),
|
161
160
|
infos: diagnostics.filter((diag) => diag.category === 2 /* Information */),
|
162
161
|
unusedCodes: diagnostics.filter((diag) => diag.category === 3 /* UnusedCode */),
|
163
|
-
|
162
|
+
unreachableCodes: diagnostics.filter((diag) => diag.category === 4 /* UnreachableCode */),
|
163
|
+
deprecateds: diagnostics.filter((diag) => diag.category === 5 /* Deprecated */),
|
164
164
|
};
|
165
165
|
return analysisResult;
|
166
166
|
}
|
@@ -173,6 +173,7 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
|
|
173
173
|
warnings: [],
|
174
174
|
infos: [],
|
175
175
|
unusedCodes: [],
|
176
|
+
unreachableCodes: [],
|
176
177
|
deprecateds: [],
|
177
178
|
};
|
178
179
|
return analysisResult;
|
@@ -195,7 +196,7 @@ function printDiagnostics(fileResults) {
|
|
195
196
|
}
|
196
197
|
}
|
197
198
|
exports.printDiagnostics = printDiagnostics;
|
198
|
-
function validateResults(results, errorCount, warningCount = 0, infoCount, unusedCode, deprecated) {
|
199
|
+
function validateResults(results, errorCount, warningCount = 0, infoCount, unusedCode, unreachableCode, deprecated) {
|
199
200
|
assert.strictEqual(results.length, 1);
|
200
201
|
assert.strictEqual(results[0].errors.length, errorCount);
|
201
202
|
assert.strictEqual(results[0].warnings.length, warningCount);
|
@@ -205,6 +206,9 @@ function validateResults(results, errorCount, warningCount = 0, infoCount, unuse
|
|
205
206
|
if (unusedCode !== undefined) {
|
206
207
|
assert.strictEqual(results[0].unusedCodes.length, unusedCode);
|
207
208
|
}
|
209
|
+
if (unreachableCode !== undefined) {
|
210
|
+
assert.strictEqual(results[0].unreachableCodes.length, unreachableCode);
|
211
|
+
}
|
208
212
|
if (deprecated !== undefined) {
|
209
213
|
assert.strictEqual(results[0].deprecateds.length, deprecated);
|
210
214
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../src/tests/testUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAG7B,+CAA4C;AAC5C,+DAA4D;AAC5D,iDAA8C;AAC9C,
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
|
@@ -35,7 +35,7 @@ const pythonVersion_1 = require("../common/pythonVersion");
|
|
35
35
|
const TestUtils = __importStar(require("./testUtils"));
|
36
36
|
test('Unreachable1', () => {
|
37
37
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['unreachable1.py']);
|
38
|
-
TestUtils.validateResults(analysisResults, 0, 0, 2,
|
38
|
+
TestUtils.validateResults(analysisResults, 0, 0, 2, 1, 4);
|
39
39
|
});
|
40
40
|
test('Builtins1', () => {
|
41
41
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['builtins1.py']);
|
@@ -362,7 +362,7 @@ test('TypeNarrowingTuple1', () => {
|
|
362
362
|
});
|
363
363
|
test('TypeNarrowingTypedDict1', () => {
|
364
364
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeNarrowingTypedDict1.py']);
|
365
|
-
TestUtils.validateResults(analysisResults,
|
365
|
+
TestUtils.validateResults(analysisResults, 4);
|
366
366
|
});
|
367
367
|
test('TypeNarrowingTypedDict2', () => {
|
368
368
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeNarrowingTypedDict2.py']);
|
@@ -738,10 +738,6 @@ test('Operators2', () => {
|
|
738
738
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['operators2.py']);
|
739
739
|
TestUtils.validateResults(analysisResults, 1);
|
740
740
|
});
|
741
|
-
test('Operators3', () => {
|
742
|
-
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['operators3.py']);
|
743
|
-
TestUtils.validateResults(analysisResults, 1);
|
744
|
-
});
|
745
741
|
test('Operators4', () => {
|
746
742
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['operators4.py']);
|
747
743
|
TestUtils.validateResults(analysisResults, 0);
|