@zzzen/pyright-internal 1.2.0-dev.20230430 → 1.2.0-dev.20230514
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/backgroundAnalysisProgram.d.ts +4 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +12 -0
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +89 -6
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +14 -15
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +6 -0
- package/dist/analyzer/constructors.js +513 -0
- package/dist/analyzer/constructors.js.map +1 -0
- package/dist/analyzer/dataClasses.js +86 -2
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +1 -1
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/enums.js +62 -8
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.js +47 -29
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +2 -2
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -6
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +16 -0
- package/dist/analyzer/operations.js +749 -0
- package/dist/analyzer/operations.js.map +1 -0
- package/dist/analyzer/parseTreeUtils.d.ts +4 -2
- package/dist/analyzer/parseTreeUtils.js +32 -1
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +16 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +11 -33
- package/dist/analyzer/program.js +73 -735
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/protocols.js +1 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +5 -21
- package/dist/analyzer/service.js +26 -33
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +9 -41
- package/dist/analyzer/sourceFile.js +219 -238
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.d.ts +3 -9
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/symbol.d.ts +3 -1
- package/dist/analyzer/symbol.js +5 -0
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +460 -1425
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +42 -7
- package/dist/analyzer/typeEvaluatorTypes.js +33 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +2 -8
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +3 -3
- package/dist/analyzer/typePrinter.js +247 -100
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +14 -7
- package/dist/analyzer/typeUtils.js +204 -49
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +6 -7
- package/dist/analyzer/typeVarContext.js +21 -32
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +2 -2
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +7 -4
- package/dist/analyzer/types.js +20 -10
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +1 -1
- package/dist/backgroundAnalysisBase.js +16 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/extensibility.d.ts +28 -4
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -0
- package/dist/common/logTracker.js +8 -1
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/lspUtils.d.ts +4 -1
- package/dist/common/lspUtils.js +38 -1
- package/dist/common/lspUtils.js.map +1 -1
- package/dist/common/pathUtils.d.ts +11 -11
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +2 -1
- package/dist/common/pythonVersion.js +1 -0
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +10 -10
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -7
- package/dist/languageServerBase.js +41 -73
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +50 -51
- package/dist/languageService/autoImporter.js +125 -210
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +1 -1
- package/dist/languageService/callHierarchyProvider.js +11 -37
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +39 -81
- package/dist/languageService/completionProvider.js +572 -801
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +1 -1
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +6 -7
- package/dist/languageService/documentSymbolCollector.js +47 -28
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +13 -35
- package/dist/languageService/documentSymbolProvider.js +52 -264
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +5 -6
- package/dist/languageService/hoverProvider.js +40 -132
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +6 -11
- package/dist/languageService/referencesProvider.js +23 -17
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +16 -0
- package/dist/languageService/renameProvider.js +139 -0
- package/dist/languageService/renameProvider.js.map +1 -0
- package/dist/languageService/symbolIndexer.d.ts +31 -0
- package/dist/languageService/symbolIndexer.js +105 -0
- package/dist/languageService/symbolIndexer.js.map +1 -0
- package/dist/languageService/tooltipUtils.d.ts +8 -1
- package/dist/languageService/tooltipUtils.js +102 -1
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +17 -0
- package/dist/languageService/workspaceSymbolProvider.js +133 -0
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -0
- package/dist/localization/localize.d.ts +33 -15
- package/dist/localization/localize.js +13 -7
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +14 -7
- package/dist/parser/parser.js +3 -0
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +26 -4
- package/dist/pyright.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +15 -20
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +14 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +11 -236
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/docStringConversion.test.js +36 -2
- package/dist/tests/docStringConversion.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -3
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/fourslash/completions.override2.fourslash.js +1 -16
- package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/fourslash.d.ts +4 -4
- package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +1 -1
- package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +17 -11
- package/dist/tests/harness/fourslash/testState.js +39 -50
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/importResolver.test.js +81 -1
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +1 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -2
- package/dist/tests/testStateUtils.js +38 -8
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +13 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +9 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +25 -9
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +95 -6
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/package.json +4 -4
- package/dist/languageService/importAdder.d.ts +0 -40
- package/dist/languageService/importAdder.js +0 -388
- package/dist/languageService/importAdder.js.map +0 -1
- package/dist/languageService/indentationUtils.d.ts +0 -16
- package/dist/languageService/indentationUtils.js +0 -727
- package/dist/languageService/indentationUtils.js.map +0 -1
- package/dist/languageService/insertionPointUtils.d.ts +0 -9
- package/dist/languageService/insertionPointUtils.js +0 -132
- package/dist/languageService/insertionPointUtils.js.map +0 -1
- package/dist/languageService/renameModuleProvider.d.ts +0 -65
- package/dist/languageService/renameModuleProvider.js +0 -939
- package/dist/languageService/renameModuleProvider.js.map +0 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +0 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +0 -81
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +0 -1
- package/dist/tests/importAdder.test.d.ts +0 -1
- package/dist/tests/importAdder.test.js +0 -1325
- package/dist/tests/importAdder.test.js.map +0 -1
- package/dist/tests/indentationUtils.ptvs.test.d.ts +0 -1
- package/dist/tests/indentationUtils.ptvs.test.js +0 -324
- package/dist/tests/indentationUtils.ptvs.test.js.map +0 -1
- package/dist/tests/indentationUtils.reindent.test.d.ts +0 -1
- package/dist/tests/indentationUtils.reindent.test.js +0 -372
- package/dist/tests/indentationUtils.reindent.test.js.map +0 -1
- package/dist/tests/indentationUtils.test.d.ts +0 -1
- package/dist/tests/indentationUtils.test.js +0 -502
- package/dist/tests/indentationUtils.test.js.map +0 -1
- package/dist/tests/insertionPointUtils.test.d.ts +0 -1
- package/dist/tests/insertionPointUtils.test.js +0 -154
- package/dist/tests/insertionPointUtils.test.js.map +0 -1
- package/dist/tests/moveSymbol.importAdder.test.d.ts +0 -1
- package/dist/tests/moveSymbol.importAdder.test.js +0 -298
- package/dist/tests/moveSymbol.importAdder.test.js.map +0 -1
- package/dist/tests/moveSymbol.insertion.test.d.ts +0 -1
- package/dist/tests/moveSymbol.insertion.test.js +0 -537
- package/dist/tests/moveSymbol.insertion.test.js.map +0 -1
- package/dist/tests/moveSymbol.misc.test.d.ts +0 -1
- package/dist/tests/moveSymbol.misc.test.js +0 -169
- package/dist/tests/moveSymbol.misc.test.js.map +0 -1
- package/dist/tests/moveSymbol.updateReference.test.d.ts +0 -1
- package/dist/tests/moveSymbol.updateReference.test.js +0 -1071
- package/dist/tests/moveSymbol.updateReference.test.js.map +0 -1
- package/dist/tests/renameModule.folder.test.d.ts +0 -1
- package/dist/tests/renameModule.folder.test.js +0 -229
- package/dist/tests/renameModule.folder.test.js.map +0 -1
- package/dist/tests/renameModule.fromImports.test.d.ts +0 -1
- package/dist/tests/renameModule.fromImports.test.js +0 -790
- package/dist/tests/renameModule.fromImports.test.js.map +0 -1
- package/dist/tests/renameModule.imports.test.d.ts +0 -1
- package/dist/tests/renameModule.imports.test.js +0 -380
- package/dist/tests/renameModule.imports.test.js.map +0 -1
- package/dist/tests/renameModule.misc.test.d.ts +0 -1
- package/dist/tests/renameModule.misc.test.js +0 -615
- package/dist/tests/renameModule.misc.test.js.map +0 -1
- package/dist/tests/renameModule.relativePath.test.d.ts +0 -1
- package/dist/tests/renameModule.relativePath.test.js +0 -231
- package/dist/tests/renameModule.relativePath.test.js.map +0 -1
- package/dist/tests/renameModuleTestUtils.d.ts +0 -4
- package/dist/tests/renameModuleTestUtils.js +0 -76
- package/dist/tests/renameModuleTestUtils.js.map +0 -1
@@ -1,790 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
/*
|
3
|
-
* renameModule.fromImports.test.ts
|
4
|
-
* Copyright (c) Microsoft Corporation.
|
5
|
-
* Licensed under the MIT license.
|
6
|
-
*
|
7
|
-
* Tests Program.RenameModule
|
8
|
-
*/
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
-
const pathUtils_1 = require("../common/pathUtils");
|
11
|
-
const testState_1 = require("./harness/fourslash/testState");
|
12
|
-
const renameModuleTestUtils_1 = require("./renameModuleTestUtils");
|
13
|
-
test('rename just file name', () => {
|
14
|
-
const code = `
|
15
|
-
// @filename: common/__init__.py
|
16
|
-
//// from io2 import tools
|
17
|
-
//// from io2.tools import [|{|"r":"renamedModule"|}pathUtils|] as [|{|"r":"renamedModule"|}pathUtils|]
|
18
|
-
|
19
|
-
// @filename: io2/__init__.py
|
20
|
-
//// # empty
|
21
|
-
|
22
|
-
// @filename: io2/tools/__init__.py
|
23
|
-
//// # empty
|
24
|
-
|
25
|
-
// @filename: io2/tools/empty.py
|
26
|
-
//// # empty
|
27
|
-
|
28
|
-
// @filename: io2/tools/pathUtils.py
|
29
|
-
//// def getFilename(path):
|
30
|
-
//// [|/*marker*/pass|]
|
31
|
-
|
32
|
-
// @filename: test1.py
|
33
|
-
//// from common import *
|
34
|
-
////
|
35
|
-
//// [|{|"r":"renamedModule"|}pathUtils|].getFilename("c")
|
36
|
-
|
37
|
-
// @filename: test3.py
|
38
|
-
//// from .io2.tools import [|{|"r":"renamedModule"|}pathUtils|] as p
|
39
|
-
////
|
40
|
-
//// p.getFilename("c")
|
41
|
-
|
42
|
-
// @filename: test4.py
|
43
|
-
//// from common import tools, [|{|"r":"renamedModule"|}pathUtils|]
|
44
|
-
////
|
45
|
-
//// [|{|"r":"renamedModule"|}pathUtils|].getFilename("c")
|
46
|
-
|
47
|
-
// @filename: test5.py
|
48
|
-
//// from io2.tools import [|{|"r":""|}pathUtils as pathUtils, |]empty[|{|"r":", renamedModule as renamedModule"|}|]
|
49
|
-
////
|
50
|
-
//// [|{|"r":"renamedModule"|}pathUtils|].getFilename("c")
|
51
|
-
`;
|
52
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
53
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
54
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'renamedModule.py')}`);
|
55
|
-
});
|
56
|
-
test('from module - move file to nested folder', () => {
|
57
|
-
const code = `
|
58
|
-
// @filename: common/__init__.py
|
59
|
-
//// # empty
|
60
|
-
|
61
|
-
// @filename: module.py
|
62
|
-
//// def getFilename(path):
|
63
|
-
//// [|/*marker*/pass|]
|
64
|
-
|
65
|
-
// @filename: test1.py
|
66
|
-
//// from [|module|] import getFilename
|
67
|
-
`;
|
68
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
69
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
70
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'common', 'moduleRenamed.py')}`, 'module', 'common.moduleRenamed');
|
71
|
-
});
|
72
|
-
test('from module - move file to parent folder', () => {
|
73
|
-
const code = `
|
74
|
-
// @filename: common/__init__.py
|
75
|
-
//// # empty
|
76
|
-
|
77
|
-
// @filename: common/module.py
|
78
|
-
//// def getFilename(path):
|
79
|
-
//// [|/*marker*/pass|]
|
80
|
-
|
81
|
-
// @filename: test.py
|
82
|
-
//// from [|common.module|] import getFilename
|
83
|
-
`;
|
84
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
85
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
86
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'moduleRenamed.py')}`, 'common.module', 'moduleRenamed');
|
87
|
-
});
|
88
|
-
test('from module - move file to sibling folder', () => {
|
89
|
-
const code = `
|
90
|
-
// @filename: common/__init__.py
|
91
|
-
//// # empty
|
92
|
-
|
93
|
-
// @filename: common/module.py
|
94
|
-
//// def getFilename(path):
|
95
|
-
//// [|/*marker*/pass|]
|
96
|
-
|
97
|
-
// @filename: common1/__init__.py
|
98
|
-
//// # empty
|
99
|
-
|
100
|
-
// @filename: test.py
|
101
|
-
//// from [|common.module|] import getFilename
|
102
|
-
`;
|
103
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
104
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
105
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'common1', 'moduleRenamed.py')}`, 'common.module', 'common1.moduleRenamed');
|
106
|
-
});
|
107
|
-
test('import name - move file to nested folder', () => {
|
108
|
-
const code = `
|
109
|
-
// @filename: common/__init__.py
|
110
|
-
//// # empty
|
111
|
-
|
112
|
-
// @filename: common/sub/__init__.py
|
113
|
-
//// # empty
|
114
|
-
|
115
|
-
// @filename: common/module.py
|
116
|
-
//// def foo():
|
117
|
-
//// [|/*marker*/pass|]
|
118
|
-
|
119
|
-
// @filename: test1.py
|
120
|
-
//// from [|{|"r":"common.sub"|}common|] import [|{|"r":"moduleRenamed"|}module|]
|
121
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
122
|
-
`;
|
123
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
124
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
125
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
126
|
-
});
|
127
|
-
test('import name - move file to parent folder', () => {
|
128
|
-
const code = `
|
129
|
-
// @filename: common/__init__.py
|
130
|
-
//// # empty
|
131
|
-
|
132
|
-
// @filename: common/sub/__init__.py
|
133
|
-
//// # empty
|
134
|
-
|
135
|
-
// @filename: common/sub/module.py
|
136
|
-
//// def foo():
|
137
|
-
//// [|/*marker*/pass|]
|
138
|
-
|
139
|
-
// @filename: test1.py
|
140
|
-
//// from [|{|"r":"common"|}common.sub|] import [|{|"r":"moduleRenamed"|}module|]
|
141
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
142
|
-
`;
|
143
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
144
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
145
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'moduleRenamed.py')}`);
|
146
|
-
});
|
147
|
-
test('import name - move file to sibling folder', () => {
|
148
|
-
const code = `
|
149
|
-
// @filename: common/__init__.py
|
150
|
-
//// # empty
|
151
|
-
|
152
|
-
// @filename: common1/__init__.py
|
153
|
-
//// # empty
|
154
|
-
|
155
|
-
// @filename: common/module.py
|
156
|
-
//// def foo():
|
157
|
-
//// [|/*marker*/pass|]
|
158
|
-
|
159
|
-
// @filename: test1.py
|
160
|
-
//// from [|{|"r":"common1"|}common|] import [|{|"r":"moduleRenamed"|}module|]
|
161
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
162
|
-
`;
|
163
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
164
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
165
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'common1', 'moduleRenamed.py')}`);
|
166
|
-
});
|
167
|
-
test('import alias - different name', () => {
|
168
|
-
const code = `
|
169
|
-
// @filename: common/__init__.py
|
170
|
-
//// # empty
|
171
|
-
|
172
|
-
// @filename: common/sub/__init__.py
|
173
|
-
//// # empty
|
174
|
-
|
175
|
-
// @filename: common/module.py
|
176
|
-
//// def foo():
|
177
|
-
//// [|/*marker*/pass|]
|
178
|
-
|
179
|
-
// @filename: test1.py
|
180
|
-
//// from [|{|"r":"common.sub"|}common|] import [|{|"r":"moduleRenamed"|}module|] as m
|
181
|
-
//// m.foo()
|
182
|
-
`;
|
183
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
184
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
185
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
186
|
-
});
|
187
|
-
test('import alias - same name', () => {
|
188
|
-
const code = `
|
189
|
-
// @filename: common/__init__.py
|
190
|
-
//// # empty
|
191
|
-
|
192
|
-
// @filename: common/sub/__init__.py
|
193
|
-
//// # empty
|
194
|
-
|
195
|
-
// @filename: common/sub/module.py
|
196
|
-
//// def foo():
|
197
|
-
//// [|/*marker*/pass|]
|
198
|
-
|
199
|
-
// @filename: test1.py
|
200
|
-
//// from [|{|"r":"common"|}common.sub|] import [|{|"r":"moduleRenamed"|}module|] as [|{|"r":"moduleRenamed"|}module|]
|
201
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
202
|
-
`;
|
203
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
204
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
205
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'moduleRenamed.py')}`);
|
206
|
-
});
|
207
|
-
test('import multiple names', () => {
|
208
|
-
const code = `
|
209
|
-
// @filename: common/__init__.py
|
210
|
-
//// # empty
|
211
|
-
|
212
|
-
// @filename: common/sub/__init__.py
|
213
|
-
//// # empty
|
214
|
-
|
215
|
-
// @filename: common/module.py
|
216
|
-
//// def foo():
|
217
|
-
//// [|/*marker*/pass|]
|
218
|
-
|
219
|
-
// @filename: test1.py
|
220
|
-
//// from common import [|{|"r":""|}module, |]sub[|{|"r":"!n!from common.sub import moduleRenamed"|}|]
|
221
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
222
|
-
`;
|
223
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
224
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
225
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
226
|
-
});
|
227
|
-
test('import multiple names with multiple deletions - edge case', () => {
|
228
|
-
const code = `
|
229
|
-
// @filename: common/__init__.py
|
230
|
-
//// # empty
|
231
|
-
|
232
|
-
// @filename: common/sub/__init__.py
|
233
|
-
//// # empty
|
234
|
-
|
235
|
-
// @filename: common/module.py
|
236
|
-
//// def foo():
|
237
|
-
//// [|/*marker*/pass|]
|
238
|
-
|
239
|
-
// @filename: test1.py
|
240
|
-
//// from common import sub[|{|"r":""|}, module, module|][|{|"r":"!n!from common.sub import moduleRenamed"|}|]
|
241
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
242
|
-
|
243
|
-
// @filename: test2.py
|
244
|
-
//// from common import [|{|"r":""|}module, |]sub[|{|"r":""|}, module|][|{|"r":"!n!from common.sub import moduleRenamed"|}|]
|
245
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
246
|
-
|
247
|
-
// @filename: test3.py
|
248
|
-
//// [|{|"r":""|}from common import module, module[|{|"r":"!n!from common.sub import moduleRenamed"|}|]
|
249
|
-
//// |][|{|"r":"moduleRenamed"|}module|].foo()
|
250
|
-
`;
|
251
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
252
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
253
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
254
|
-
});
|
255
|
-
test('import multiple names with alias 1', () => {
|
256
|
-
const code = `
|
257
|
-
// @filename: common/__init__.py
|
258
|
-
//// # empty
|
259
|
-
|
260
|
-
// @filename: common/sub/__init__.py
|
261
|
-
//// # empty
|
262
|
-
|
263
|
-
// @filename: common/module.py
|
264
|
-
//// def foo():
|
265
|
-
//// [|/*marker*/pass|]
|
266
|
-
|
267
|
-
// @filename: test1.py
|
268
|
-
//// from common import [|{|"r":""|}module as m, |]sub[|{|"r":"!n!from common.sub import moduleRenamed as m"|}|]
|
269
|
-
//// m.foo()
|
270
|
-
`;
|
271
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
272
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
273
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
274
|
-
});
|
275
|
-
test('import multiple names with alias 2', () => {
|
276
|
-
const code = `
|
277
|
-
// @filename: common/__init__.py
|
278
|
-
//// # empty
|
279
|
-
|
280
|
-
// @filename: common/sub/__init__.py
|
281
|
-
//// # empty
|
282
|
-
|
283
|
-
// @filename: common/module.py
|
284
|
-
//// def foo():
|
285
|
-
//// [|/*marker*/pass|]
|
286
|
-
|
287
|
-
// @filename: test1.py
|
288
|
-
//// from common import [|{|"r":""|}module as module, |]sub[|{|"r":"!n!from common.sub import moduleRenamed as moduleRenamed"|}|]
|
289
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
290
|
-
`;
|
291
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
292
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
293
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
294
|
-
});
|
295
|
-
test('import multiple names with existing from import statement', () => {
|
296
|
-
const code = `
|
297
|
-
// @filename: common/__init__.py
|
298
|
-
//// # empty
|
299
|
-
|
300
|
-
// @filename: common/sub/__init__.py
|
301
|
-
//// # empty
|
302
|
-
|
303
|
-
// @filename: common/sub/existing.py
|
304
|
-
//// # empty
|
305
|
-
|
306
|
-
// @filename: common/module.py
|
307
|
-
//// def foo():
|
308
|
-
//// [|/*marker*/pass|]
|
309
|
-
|
310
|
-
// @filename: test1.py
|
311
|
-
//// from common import [|{|"r":""|}module, |]sub
|
312
|
-
//// from common.sub import existing[|{|"r":", moduleRenamed"|}|]
|
313
|
-
////
|
314
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
315
|
-
`;
|
316
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
317
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
318
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
319
|
-
});
|
320
|
-
test('import multiple names with existing from import statement with multiple deletion - edge case', () => {
|
321
|
-
const code = `
|
322
|
-
// @filename: common/__init__.py
|
323
|
-
//// # empty
|
324
|
-
|
325
|
-
// @filename: common/sub/__init__.py
|
326
|
-
//// # empty
|
327
|
-
|
328
|
-
// @filename: common/sub/existing.py
|
329
|
-
//// # empty
|
330
|
-
|
331
|
-
// @filename: common/module.py
|
332
|
-
//// def foo():
|
333
|
-
//// [|/*marker*/pass|]
|
334
|
-
|
335
|
-
// @filename: test1.py
|
336
|
-
//// from common import [|{|"r":""|}module, module, |]sub
|
337
|
-
//// from common.sub import existing[|{|"r":", moduleRenamed"|}|]
|
338
|
-
////
|
339
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
340
|
-
|
341
|
-
// @filename: test2.py
|
342
|
-
//// [|{|"r":""|}from common import module, module
|
343
|
-
//// |]from common.sub import existing[|{|"r":", moduleRenamed"|}|]
|
344
|
-
`;
|
345
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
346
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
347
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
348
|
-
});
|
349
|
-
test('import multiple names with existing from import statement with alias 1', () => {
|
350
|
-
const code = `
|
351
|
-
// @filename: common/__init__.py
|
352
|
-
//// # empty
|
353
|
-
|
354
|
-
// @filename: common/sub/__init__.py
|
355
|
-
//// # empty
|
356
|
-
|
357
|
-
// @filename: common/sub/existing.py
|
358
|
-
//// # empty
|
359
|
-
|
360
|
-
// @filename: common/module.py
|
361
|
-
//// def foo():
|
362
|
-
//// [|/*marker*/pass|]
|
363
|
-
|
364
|
-
// @filename: test1.py
|
365
|
-
//// from common import [|{|"r":""|}module as m, |]sub
|
366
|
-
//// from common.sub import existing[|{|"r":", moduleRenamed as m"|}|]
|
367
|
-
////
|
368
|
-
//// m.foo()
|
369
|
-
`;
|
370
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
371
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
372
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
373
|
-
});
|
374
|
-
test('import multiple names with existing from import statement with alias 2', () => {
|
375
|
-
const code = `
|
376
|
-
// @filename: common/__init__.py
|
377
|
-
//// # empty
|
378
|
-
|
379
|
-
// @filename: common/sub/__init__.py
|
380
|
-
//// # empty
|
381
|
-
|
382
|
-
// @filename: common/sub/existing.py
|
383
|
-
//// # empty
|
384
|
-
|
385
|
-
// @filename: common/module.py
|
386
|
-
//// def foo():
|
387
|
-
//// [|/*marker*/pass|]
|
388
|
-
|
389
|
-
// @filename: test1.py
|
390
|
-
//// from common import [|{|"r":""|}module as module, |]sub
|
391
|
-
//// from common.sub import existing[|{|"r":", moduleRenamed as moduleRenamed"|}|]
|
392
|
-
////
|
393
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
394
|
-
`;
|
395
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
396
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
397
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
398
|
-
});
|
399
|
-
test('from module multiple import names', () => {
|
400
|
-
const code = `
|
401
|
-
// @filename: common/__init__.py
|
402
|
-
//// # empty
|
403
|
-
|
404
|
-
// @filename: common/module.py
|
405
|
-
//// def getFilename(path):
|
406
|
-
//// [|/*marker*/pass|]
|
407
|
-
////
|
408
|
-
//// def foo():
|
409
|
-
//// pass
|
410
|
-
|
411
|
-
// @filename: test.py
|
412
|
-
//// from [|common.module|] import getFilename, foo
|
413
|
-
`;
|
414
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
415
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
416
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'moduleRenamed.py')}`, 'common.module', 'moduleRenamed');
|
417
|
-
});
|
418
|
-
test('from module relative path - same folder', () => {
|
419
|
-
const code = `
|
420
|
-
// @filename: module.py
|
421
|
-
//// def foo():
|
422
|
-
//// [|/*marker*/pass|]
|
423
|
-
|
424
|
-
// @filename: test.py
|
425
|
-
//// from . import [|{|"r":"moduleRenamed"|}module|]
|
426
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
427
|
-
`;
|
428
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
429
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
430
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'moduleRenamed.py')}`);
|
431
|
-
});
|
432
|
-
test('from module relative path - nested folder', () => {
|
433
|
-
const code = `
|
434
|
-
// @filename: common/__init__.py
|
435
|
-
//// # empty
|
436
|
-
|
437
|
-
// @filename: module.py
|
438
|
-
//// def foo():
|
439
|
-
//// [|/*marker*/pass|]
|
440
|
-
|
441
|
-
// @filename: test.py
|
442
|
-
//// from [|{|"r":".common"|}.|] import [|{|"r":"moduleRenamed"|}module|]
|
443
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
444
|
-
`;
|
445
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
446
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
447
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'common', 'moduleRenamed.py')}`);
|
448
|
-
});
|
449
|
-
test('from module relative path - parent folder', () => {
|
450
|
-
const code = `
|
451
|
-
// @filename: common/__init__.py
|
452
|
-
//// # empty
|
453
|
-
|
454
|
-
// @filename: common/module.py
|
455
|
-
//// def foo():
|
456
|
-
//// [|/*marker*/pass|]
|
457
|
-
|
458
|
-
// @filename: test.py
|
459
|
-
//// from [|{|"r":"."|}.common|] import [|{|"r":"moduleRenamed"|}module|]
|
460
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
461
|
-
`;
|
462
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
463
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
464
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'moduleRenamed.py')}`);
|
465
|
-
});
|
466
|
-
test('from module relative path - sibling folder', () => {
|
467
|
-
const code = `
|
468
|
-
// @filename: common/__init__.py
|
469
|
-
//// # empty
|
470
|
-
|
471
|
-
// @filename: common1/__init__.py
|
472
|
-
//// # empty
|
473
|
-
|
474
|
-
// @filename: common/module.py
|
475
|
-
//// def foo():
|
476
|
-
//// [|/*marker*/pass|]
|
477
|
-
|
478
|
-
// @filename: test.py
|
479
|
-
//// from [|{|"r":".common1"|}.common|] import [|{|"r":"moduleRenamed"|}module|]
|
480
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
481
|
-
`;
|
482
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
483
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
484
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'common1', 'moduleRenamed.py')}`);
|
485
|
-
});
|
486
|
-
test('from module relative path - more complex', () => {
|
487
|
-
const code = `
|
488
|
-
// @filename: common/__init__.py
|
489
|
-
//// # empty
|
490
|
-
|
491
|
-
// @filename: common/sub/__init__.py
|
492
|
-
//// # empty
|
493
|
-
|
494
|
-
// @filename: base/nested/__init__.py
|
495
|
-
//// # empty
|
496
|
-
|
497
|
-
// @filename: common/module.py
|
498
|
-
//// def foo():
|
499
|
-
//// [|/*marker*/pass|]
|
500
|
-
|
501
|
-
// @filename: base/nested/test.py
|
502
|
-
//// from [|{|"r":"...common.sub"|}...common|] import [|{|"r":"moduleRenamed"|}module|]
|
503
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
504
|
-
`;
|
505
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
506
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
507
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
508
|
-
});
|
509
|
-
test('from module relative path with multiple import names', () => {
|
510
|
-
const code = `
|
511
|
-
// @filename: common/__init__.py
|
512
|
-
//// # empty
|
513
|
-
|
514
|
-
// @filename: common/sub/__init__.py
|
515
|
-
//// # empty
|
516
|
-
|
517
|
-
// @filename: base/nested/__init__.py
|
518
|
-
//// # empty
|
519
|
-
|
520
|
-
// @filename: common/module.py
|
521
|
-
//// def foo():
|
522
|
-
//// [|/*marker*/pass|]
|
523
|
-
|
524
|
-
// @filename: base/nested/test.py
|
525
|
-
//// [|{|"r":"from ...common.sub import moduleRenamed!n!"|}|]from ...common import [|{|"r":""|}module, |]sub
|
526
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
527
|
-
`;
|
528
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
529
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
530
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
531
|
-
});
|
532
|
-
test('from module relative path with multiple import names and alias 1', () => {
|
533
|
-
const code = `
|
534
|
-
// @filename: common/__init__.py
|
535
|
-
//// # empty
|
536
|
-
|
537
|
-
// @filename: common/sub/__init__.py
|
538
|
-
//// # empty
|
539
|
-
|
540
|
-
// @filename: base/nested/__init__.py
|
541
|
-
//// # empty
|
542
|
-
|
543
|
-
// @filename: common/module.py
|
544
|
-
//// def foo():
|
545
|
-
//// [|/*marker*/pass|]
|
546
|
-
|
547
|
-
// @filename: base/nested/test.py
|
548
|
-
//// [|{|"r":"from ...common.sub import moduleRenamed as m!n!"|}|]from ...common import [|{|"r":""|}module as m, |]sub
|
549
|
-
//// m.foo()
|
550
|
-
`;
|
551
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
552
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
553
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
554
|
-
});
|
555
|
-
test('from module relative path with multiple import names and alias 2', () => {
|
556
|
-
const code = `
|
557
|
-
// @filename: common/__init__.py
|
558
|
-
//// # empty
|
559
|
-
|
560
|
-
// @filename: common/sub/__init__.py
|
561
|
-
//// # empty
|
562
|
-
|
563
|
-
// @filename: base/nested/__init__.py
|
564
|
-
//// # empty
|
565
|
-
|
566
|
-
// @filename: common/module.py
|
567
|
-
//// def foo():
|
568
|
-
//// [|/*marker*/pass|]
|
569
|
-
|
570
|
-
// @filename: base/nested/test.py
|
571
|
-
//// [|{|"r":"from ...common.sub import moduleRenamed as moduleRenamed!n!"|}|]from ...common import [|{|"r":""|}module as module, |]sub
|
572
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
573
|
-
`;
|
574
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
575
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
576
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
577
|
-
});
|
578
|
-
test('from module relative path with merging with existing import', () => {
|
579
|
-
const code = `
|
580
|
-
// @filename: common/__init__.py
|
581
|
-
//// # empty
|
582
|
-
|
583
|
-
// @filename: common/sub/__init__.py
|
584
|
-
//// # empty
|
585
|
-
|
586
|
-
// @filename: common/sub/existing.py
|
587
|
-
//// # empty
|
588
|
-
|
589
|
-
// @filename: base/nested/__init__.py
|
590
|
-
//// # empty
|
591
|
-
|
592
|
-
// @filename: common/module.py
|
593
|
-
//// def foo():
|
594
|
-
//// [|/*marker*/pass|]
|
595
|
-
|
596
|
-
// @filename: base/nested/test.py
|
597
|
-
//// from ...common import [|{|"r":""|}module, |]sub
|
598
|
-
//// from ...common.sub import existing[|{|"r":", moduleRenamed"|}|]
|
599
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
600
|
-
`;
|
601
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
602
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
603
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
604
|
-
});
|
605
|
-
test('from module relative path with merging with existing import with alias 1', () => {
|
606
|
-
const code = `
|
607
|
-
// @filename: common/__init__.py
|
608
|
-
//// # empty
|
609
|
-
|
610
|
-
// @filename: common/sub/__init__.py
|
611
|
-
//// # empty
|
612
|
-
|
613
|
-
// @filename: common/sub/existing.py
|
614
|
-
//// # empty
|
615
|
-
|
616
|
-
// @filename: base/nested/__init__.py
|
617
|
-
//// # empty
|
618
|
-
|
619
|
-
// @filename: common/module.py
|
620
|
-
//// def foo():
|
621
|
-
//// [|/*marker*/pass|]
|
622
|
-
|
623
|
-
// @filename: base/nested/test.py
|
624
|
-
//// from ...common import [|{|"r":""|}module as m, |]sub
|
625
|
-
//// from ...common.sub import existing[|{|"r":", moduleRenamed as m"|}|]
|
626
|
-
//// m.foo()
|
627
|
-
`;
|
628
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
629
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
630
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
631
|
-
});
|
632
|
-
test('from module relative path with merging with existing import with alias 2', () => {
|
633
|
-
const code = `
|
634
|
-
// @filename: common/__init__.py
|
635
|
-
//// # empty
|
636
|
-
|
637
|
-
// @filename: common/sub/__init__.py
|
638
|
-
//// # empty
|
639
|
-
|
640
|
-
// @filename: common/sub/existing.py
|
641
|
-
//// # empty
|
642
|
-
|
643
|
-
// @filename: base/nested/__init__.py
|
644
|
-
//// # empty
|
645
|
-
|
646
|
-
// @filename: common/module.py
|
647
|
-
//// def foo():
|
648
|
-
//// [|/*marker*/pass|]
|
649
|
-
|
650
|
-
// @filename: base/nested/test.py
|
651
|
-
//// from ...common import [|{|"r":""|}module as module, |]sub
|
652
|
-
//// from ...common.sub import existing[|{|"r":", moduleRenamed as moduleRenamed"|}|]
|
653
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
654
|
-
`;
|
655
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
656
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
657
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
658
|
-
});
|
659
|
-
test('from import move to current folder', () => {
|
660
|
-
const code = `
|
661
|
-
// @filename: common/__init__.py
|
662
|
-
//// # empty
|
663
|
-
|
664
|
-
// @filename: common/module.py
|
665
|
-
//// def getFilename(path):
|
666
|
-
//// [|/*marker*/pass|]
|
667
|
-
|
668
|
-
// @filename: test1.py
|
669
|
-
//// from [|{|"r":"."|}common|] import ([|{|"r":"renamedModule"|}module|])
|
670
|
-
////
|
671
|
-
//// [|{|"r":"renamedModule"|}module|].getFilename("c")
|
672
|
-
`;
|
673
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
674
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
675
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'renamedModule.py')}`);
|
676
|
-
});
|
677
|
-
test('re-exported symbols', () => {
|
678
|
-
const code = `
|
679
|
-
// @filename: common/__init__.py
|
680
|
-
//// from [|{|"r":"common"|}common.io.nest|] import [|{|"r":"renamedModule"|}module|] as [|{|"r":"renamedModule"|}module|]
|
681
|
-
|
682
|
-
// @filename: common/io/__init__.py
|
683
|
-
//// from [|{|"r":".."|}.nest|] import [|{|"r":"renamedModule"|}module|] as [|{|"r":"renamedModule"|}module|]
|
684
|
-
|
685
|
-
// @filename: common/io/nest/module.py
|
686
|
-
//// def foo():
|
687
|
-
//// [|/*marker*/pass|]
|
688
|
-
|
689
|
-
// @filename: reexport.py
|
690
|
-
//// from common import [|{|"r":"renamedModule"|}module|]
|
691
|
-
//// __all__ = ["[|{|"r":"renamedModule"|}module|]"]
|
692
|
-
|
693
|
-
// @filename: test1.py
|
694
|
-
//// from common import [|{|"r":"renamedModule"|}module|]
|
695
|
-
//// [|{|"r":"renamedModule"|}module|].foo()
|
696
|
-
|
697
|
-
// @filename: test2.py
|
698
|
-
//// from common.io import [|{|"r":"renamedModule"|}module|]
|
699
|
-
//// [|{|"r":"renamedModule"|}module|].foo()
|
700
|
-
|
701
|
-
// @filename: test3.py
|
702
|
-
//// from reexport import [|{|"r":"renamedModule"|}module|]
|
703
|
-
//// [|{|"r":"renamedModule"|}module|].foo()
|
704
|
-
`;
|
705
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
706
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
707
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', '..', 'renamedModule.py')}`);
|
708
|
-
});
|
709
|
-
test('new import with existing import with wildcard', () => {
|
710
|
-
const code = `
|
711
|
-
// @filename: common/__init__.py
|
712
|
-
//// # empty
|
713
|
-
|
714
|
-
// @filename: common/sub/__init__.py
|
715
|
-
//// class A: ...
|
716
|
-
//// __all__ = ["A"]
|
717
|
-
|
718
|
-
// @filename: common/module.py
|
719
|
-
//// def foo():
|
720
|
-
//// [|/*marker*/pass|]
|
721
|
-
|
722
|
-
// @filename: test1.py
|
723
|
-
//// from common import [|{|"r":""|}module, |]sub
|
724
|
-
//// from common.sub import *[|{|"r":"!n!from common.sub import moduleRenamed"|}|]
|
725
|
-
////
|
726
|
-
//// [|{|"r":"moduleRenamed"|}module|].foo()
|
727
|
-
`;
|
728
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
729
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
730
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`);
|
731
|
-
});
|
732
|
-
test('simple rename of relative module', () => {
|
733
|
-
const code = `
|
734
|
-
// @filename: common/__init__.py
|
735
|
-
//// # empty
|
736
|
-
|
737
|
-
// @filename: common/module.py
|
738
|
-
//// def foo():
|
739
|
-
//// [|/*marker*/pass|]
|
740
|
-
|
741
|
-
// @filename: common/test1.py
|
742
|
-
//// from [|.module|] import foo
|
743
|
-
`;
|
744
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
745
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
746
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'moduleRenamed.py')}`, '.module', '.moduleRenamed');
|
747
|
-
});
|
748
|
-
test('relative module move', () => {
|
749
|
-
const code = `
|
750
|
-
// @filename: common/__init__.py
|
751
|
-
//// # empty
|
752
|
-
|
753
|
-
// @filename: common/module.py
|
754
|
-
//// def foo():
|
755
|
-
//// [|/*marker*/pass|]
|
756
|
-
|
757
|
-
// @filename: common/test1.py
|
758
|
-
//// from [|.module|] import foo
|
759
|
-
`;
|
760
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
761
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
762
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'sub', 'moduleRenamed.py')}`, '.module', '.sub.moduleRenamed');
|
763
|
-
});
|
764
|
-
test('__init__ relative module move', () => {
|
765
|
-
const code = `
|
766
|
-
// @filename: common/__init__.py
|
767
|
-
//// def foo():
|
768
|
-
//// [|/*marker*/pass|]
|
769
|
-
|
770
|
-
// @filename: test1.py
|
771
|
-
//// from [|.common|] import foo
|
772
|
-
`;
|
773
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
774
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
775
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), 'moved', '__init__.py')}`, '.common', '.common.moved');
|
776
|
-
});
|
777
|
-
test('__init__ relative module rename', () => {
|
778
|
-
const code = `
|
779
|
-
// @filename: common/__init__.py
|
780
|
-
//// def foo():
|
781
|
-
//// [|/*marker*/pass|]
|
782
|
-
|
783
|
-
// @filename: test1.py
|
784
|
-
//// from [|.common|] import foo
|
785
|
-
`;
|
786
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
787
|
-
const fileName = state.getMarkerByName('marker').fileName;
|
788
|
-
(0, renameModuleTestUtils_1.testRenameModule)(state, fileName, `${(0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(fileName), '..', 'moved', '__init__.py')}`, '.common', '.moved');
|
789
|
-
});
|
790
|
-
//# sourceMappingURL=renameModule.fromImports.test.js.map
|