@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.
Files changed (231) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -1
  2. package/dist/analyzer/backgroundAnalysisProgram.js +12 -0
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/checker.d.ts +1 -0
  5. package/dist/analyzer/checker.js +89 -6
  6. package/dist/analyzer/checker.js.map +1 -1
  7. package/dist/analyzer/constraintSolver.js +14 -15
  8. package/dist/analyzer/constraintSolver.js.map +1 -1
  9. package/dist/analyzer/constructors.d.ts +6 -0
  10. package/dist/analyzer/constructors.js +513 -0
  11. package/dist/analyzer/constructors.js.map +1 -0
  12. package/dist/analyzer/dataClasses.js +86 -2
  13. package/dist/analyzer/dataClasses.js.map +1 -1
  14. package/dist/analyzer/docStringConversion.js +1 -1
  15. package/dist/analyzer/docStringConversion.js.map +1 -1
  16. package/dist/analyzer/enums.js +62 -8
  17. package/dist/analyzer/enums.js.map +1 -1
  18. package/dist/analyzer/importResolver.js +47 -29
  19. package/dist/analyzer/importResolver.js.map +1 -1
  20. package/dist/analyzer/importStatementUtils.d.ts +2 -2
  21. package/dist/analyzer/importStatementUtils.js.map +1 -1
  22. package/dist/analyzer/namedTuples.js +3 -6
  23. package/dist/analyzer/namedTuples.js.map +1 -1
  24. package/dist/analyzer/operations.d.ts +16 -0
  25. package/dist/analyzer/operations.js +749 -0
  26. package/dist/analyzer/operations.js.map +1 -0
  27. package/dist/analyzer/parseTreeUtils.d.ts +4 -2
  28. package/dist/analyzer/parseTreeUtils.js +32 -1
  29. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  30. package/dist/analyzer/patternMatching.js +16 -0
  31. package/dist/analyzer/patternMatching.js.map +1 -1
  32. package/dist/analyzer/program.d.ts +11 -33
  33. package/dist/analyzer/program.js +73 -735
  34. package/dist/analyzer/program.js.map +1 -1
  35. package/dist/analyzer/protocols.js +1 -1
  36. package/dist/analyzer/protocols.js.map +1 -1
  37. package/dist/analyzer/service.d.ts +5 -21
  38. package/dist/analyzer/service.js +26 -33
  39. package/dist/analyzer/service.js.map +1 -1
  40. package/dist/analyzer/sourceFile.d.ts +9 -41
  41. package/dist/analyzer/sourceFile.js +219 -238
  42. package/dist/analyzer/sourceFile.js.map +1 -1
  43. package/dist/analyzer/sourceFileInfoUtils.d.ts +3 -9
  44. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  45. package/dist/analyzer/symbol.d.ts +3 -1
  46. package/dist/analyzer/symbol.js +5 -0
  47. package/dist/analyzer/symbol.js.map +1 -1
  48. package/dist/analyzer/typeEvaluator.js +460 -1425
  49. package/dist/analyzer/typeEvaluator.js.map +1 -1
  50. package/dist/analyzer/typeEvaluatorTypes.d.ts +42 -7
  51. package/dist/analyzer/typeEvaluatorTypes.js +33 -1
  52. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  53. package/dist/analyzer/typeGuards.js +2 -8
  54. package/dist/analyzer/typeGuards.js.map +1 -1
  55. package/dist/analyzer/typePrinter.d.ts +3 -3
  56. package/dist/analyzer/typePrinter.js +247 -100
  57. package/dist/analyzer/typePrinter.js.map +1 -1
  58. package/dist/analyzer/typeUtils.d.ts +14 -7
  59. package/dist/analyzer/typeUtils.js +204 -49
  60. package/dist/analyzer/typeUtils.js.map +1 -1
  61. package/dist/analyzer/typeVarContext.d.ts +6 -7
  62. package/dist/analyzer/typeVarContext.js +21 -32
  63. package/dist/analyzer/typeVarContext.js.map +1 -1
  64. package/dist/analyzer/typedDicts.js +2 -2
  65. package/dist/analyzer/typedDicts.js.map +1 -1
  66. package/dist/analyzer/types.d.ts +7 -4
  67. package/dist/analyzer/types.js +20 -10
  68. package/dist/analyzer/types.js.map +1 -1
  69. package/dist/backgroundAnalysisBase.d.ts +1 -1
  70. package/dist/backgroundAnalysisBase.js +16 -0
  71. package/dist/backgroundAnalysisBase.js.map +1 -1
  72. package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
  73. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  74. package/dist/common/extensibility.d.ts +28 -4
  75. package/dist/common/extensibility.js.map +1 -1
  76. package/dist/common/logTracker.d.ts +2 -0
  77. package/dist/common/logTracker.js +8 -1
  78. package/dist/common/logTracker.js.map +1 -1
  79. package/dist/common/lspUtils.d.ts +4 -1
  80. package/dist/common/lspUtils.js +38 -1
  81. package/dist/common/lspUtils.js.map +1 -1
  82. package/dist/common/pathUtils.d.ts +11 -11
  83. package/dist/common/pathUtils.js.map +1 -1
  84. package/dist/common/pythonVersion.d.ts +2 -1
  85. package/dist/common/pythonVersion.js +1 -0
  86. package/dist/common/pythonVersion.js.map +1 -1
  87. package/dist/common/workspaceEditUtils.d.ts +8 -8
  88. package/dist/common/workspaceEditUtils.js +10 -10
  89. package/dist/common/workspaceEditUtils.js.map +1 -1
  90. package/dist/languageServerBase.d.ts +3 -7
  91. package/dist/languageServerBase.js +41 -73
  92. package/dist/languageServerBase.js.map +1 -1
  93. package/dist/languageService/autoImporter.d.ts +50 -51
  94. package/dist/languageService/autoImporter.js +125 -210
  95. package/dist/languageService/autoImporter.js.map +1 -1
  96. package/dist/languageService/callHierarchyProvider.d.ts +1 -1
  97. package/dist/languageService/callHierarchyProvider.js +11 -37
  98. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  99. package/dist/languageService/completionProvider.d.ts +39 -81
  100. package/dist/languageService/completionProvider.js +572 -801
  101. package/dist/languageService/completionProvider.js.map +1 -1
  102. package/dist/languageService/documentHighlightProvider.js +1 -1
  103. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  104. package/dist/languageService/documentSymbolCollector.d.ts +6 -7
  105. package/dist/languageService/documentSymbolCollector.js +47 -28
  106. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  107. package/dist/languageService/documentSymbolProvider.d.ts +13 -35
  108. package/dist/languageService/documentSymbolProvider.js +52 -264
  109. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  110. package/dist/languageService/hoverProvider.d.ts +5 -6
  111. package/dist/languageService/hoverProvider.js +40 -132
  112. package/dist/languageService/hoverProvider.js.map +1 -1
  113. package/dist/languageService/referencesProvider.d.ts +6 -11
  114. package/dist/languageService/referencesProvider.js +23 -17
  115. package/dist/languageService/referencesProvider.js.map +1 -1
  116. package/dist/languageService/renameProvider.d.ts +16 -0
  117. package/dist/languageService/renameProvider.js +139 -0
  118. package/dist/languageService/renameProvider.js.map +1 -0
  119. package/dist/languageService/symbolIndexer.d.ts +31 -0
  120. package/dist/languageService/symbolIndexer.js +105 -0
  121. package/dist/languageService/symbolIndexer.js.map +1 -0
  122. package/dist/languageService/tooltipUtils.d.ts +8 -1
  123. package/dist/languageService/tooltipUtils.js +102 -1
  124. package/dist/languageService/tooltipUtils.js.map +1 -1
  125. package/dist/languageService/workspaceSymbolProvider.d.ts +17 -0
  126. package/dist/languageService/workspaceSymbolProvider.js +133 -0
  127. package/dist/languageService/workspaceSymbolProvider.js.map +1 -0
  128. package/dist/localization/localize.d.ts +33 -15
  129. package/dist/localization/localize.js +13 -7
  130. package/dist/localization/localize.js.map +1 -1
  131. package/dist/localization/package.nls.en-us.json +14 -7
  132. package/dist/parser/parser.js +3 -0
  133. package/dist/parser/parser.js.map +1 -1
  134. package/dist/pyright.js +26 -4
  135. package/dist/pyright.js.map +1 -1
  136. package/dist/tests/chainedSourceFiles.test.js +15 -20
  137. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  138. package/dist/tests/checker.test.js +14 -0
  139. package/dist/tests/checker.test.js.map +1 -1
  140. package/dist/tests/completions.test.js +11 -236
  141. package/dist/tests/completions.test.js.map +1 -1
  142. package/dist/tests/docStringConversion.test.js +36 -2
  143. package/dist/tests/docStringConversion.test.js.map +1 -1
  144. package/dist/tests/documentSymbolCollector.test.js +3 -3
  145. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  146. package/dist/tests/fourslash/completions.override2.fourslash.js +1 -16
  147. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  148. package/dist/tests/fourslash/fourslash.d.ts +4 -4
  149. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +1 -1
  150. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  151. package/dist/tests/harness/fourslash/testState.d.ts +17 -11
  152. package/dist/tests/harness/fourslash/testState.js +39 -50
  153. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  154. package/dist/tests/importResolver.test.js +81 -1
  155. package/dist/tests/importResolver.test.js.map +1 -1
  156. package/dist/tests/sourceFile.test.js +1 -1
  157. package/dist/tests/sourceFile.test.js.map +1 -1
  158. package/dist/tests/testStateUtils.d.ts +2 -2
  159. package/dist/tests/testStateUtils.js +38 -8
  160. package/dist/tests/testStateUtils.js.map +1 -1
  161. package/dist/tests/typeEvaluator2.test.js +13 -1
  162. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  163. package/dist/tests/typeEvaluator3.test.js +5 -1
  164. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  165. package/dist/tests/typeEvaluator4.test.js +9 -1
  166. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  167. package/dist/tests/typeEvaluator5.test.js +25 -9
  168. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  169. package/dist/tests/workspaceEditUtils.test.js +95 -6
  170. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  171. package/package.json +4 -4
  172. package/dist/languageService/importAdder.d.ts +0 -40
  173. package/dist/languageService/importAdder.js +0 -388
  174. package/dist/languageService/importAdder.js.map +0 -1
  175. package/dist/languageService/indentationUtils.d.ts +0 -16
  176. package/dist/languageService/indentationUtils.js +0 -727
  177. package/dist/languageService/indentationUtils.js.map +0 -1
  178. package/dist/languageService/insertionPointUtils.d.ts +0 -9
  179. package/dist/languageService/insertionPointUtils.js +0 -132
  180. package/dist/languageService/insertionPointUtils.js.map +0 -1
  181. package/dist/languageService/renameModuleProvider.d.ts +0 -65
  182. package/dist/languageService/renameModuleProvider.js +0 -939
  183. package/dist/languageService/renameModuleProvider.js.map +0 -1
  184. package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +0 -1
  185. package/dist/tests/fourslash/completions.commitChars.fourslash.js +0 -81
  186. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +0 -1
  187. package/dist/tests/importAdder.test.d.ts +0 -1
  188. package/dist/tests/importAdder.test.js +0 -1325
  189. package/dist/tests/importAdder.test.js.map +0 -1
  190. package/dist/tests/indentationUtils.ptvs.test.d.ts +0 -1
  191. package/dist/tests/indentationUtils.ptvs.test.js +0 -324
  192. package/dist/tests/indentationUtils.ptvs.test.js.map +0 -1
  193. package/dist/tests/indentationUtils.reindent.test.d.ts +0 -1
  194. package/dist/tests/indentationUtils.reindent.test.js +0 -372
  195. package/dist/tests/indentationUtils.reindent.test.js.map +0 -1
  196. package/dist/tests/indentationUtils.test.d.ts +0 -1
  197. package/dist/tests/indentationUtils.test.js +0 -502
  198. package/dist/tests/indentationUtils.test.js.map +0 -1
  199. package/dist/tests/insertionPointUtils.test.d.ts +0 -1
  200. package/dist/tests/insertionPointUtils.test.js +0 -154
  201. package/dist/tests/insertionPointUtils.test.js.map +0 -1
  202. package/dist/tests/moveSymbol.importAdder.test.d.ts +0 -1
  203. package/dist/tests/moveSymbol.importAdder.test.js +0 -298
  204. package/dist/tests/moveSymbol.importAdder.test.js.map +0 -1
  205. package/dist/tests/moveSymbol.insertion.test.d.ts +0 -1
  206. package/dist/tests/moveSymbol.insertion.test.js +0 -537
  207. package/dist/tests/moveSymbol.insertion.test.js.map +0 -1
  208. package/dist/tests/moveSymbol.misc.test.d.ts +0 -1
  209. package/dist/tests/moveSymbol.misc.test.js +0 -169
  210. package/dist/tests/moveSymbol.misc.test.js.map +0 -1
  211. package/dist/tests/moveSymbol.updateReference.test.d.ts +0 -1
  212. package/dist/tests/moveSymbol.updateReference.test.js +0 -1071
  213. package/dist/tests/moveSymbol.updateReference.test.js.map +0 -1
  214. package/dist/tests/renameModule.folder.test.d.ts +0 -1
  215. package/dist/tests/renameModule.folder.test.js +0 -229
  216. package/dist/tests/renameModule.folder.test.js.map +0 -1
  217. package/dist/tests/renameModule.fromImports.test.d.ts +0 -1
  218. package/dist/tests/renameModule.fromImports.test.js +0 -790
  219. package/dist/tests/renameModule.fromImports.test.js.map +0 -1
  220. package/dist/tests/renameModule.imports.test.d.ts +0 -1
  221. package/dist/tests/renameModule.imports.test.js +0 -380
  222. package/dist/tests/renameModule.imports.test.js.map +0 -1
  223. package/dist/tests/renameModule.misc.test.d.ts +0 -1
  224. package/dist/tests/renameModule.misc.test.js +0 -615
  225. package/dist/tests/renameModule.misc.test.js.map +0 -1
  226. package/dist/tests/renameModule.relativePath.test.d.ts +0 -1
  227. package/dist/tests/renameModule.relativePath.test.js +0 -231
  228. package/dist/tests/renameModule.relativePath.test.js.map +0 -1
  229. package/dist/tests/renameModuleTestUtils.d.ts +0 -4
  230. package/dist/tests/renameModuleTestUtils.js +0 -76
  231. package/dist/tests/renameModuleTestUtils.js.map +0 -1
@@ -1,537 +0,0 @@
1
- "use strict";
2
- /*
3
- * moveSymbol.trivia.test.ts
4
- * Copyright (c) Microsoft Corporation.
5
- * Licensed under the MIT license.
6
- *
7
- * Tests around how moveSymbol handles whitespace/blank lines/comments around
8
- * symbol that is moved.
9
- */
10
- var __importDefault = (this && this.__importDefault) || function (mod) {
11
- return (mod && mod.__esModule) ? mod : { "default": mod };
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- const assert_1 = __importDefault(require("assert"));
15
- const vscode_languageserver_1 = require("vscode-languageserver");
16
- const testState_1 = require("./harness/fourslash/testState");
17
- const renameModuleTestUtils_1 = require("./renameModuleTestUtils");
18
- test('single symbol with trailing whitespace', () => {
19
- const code = `
20
- // @filename: test.py
21
- //// [|{|"r":""|}def [|/*marker*/foo|]():
22
- //// pass
23
- //// |]
24
- ////
25
-
26
- // @filename: moved.py
27
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
28
- `;
29
- testFromCode(code);
30
- });
31
- test('begining of a file with other symbols below', () => {
32
- const code = `
33
- // @filename: test.py
34
- //// [|{|"r":""|}def [|/*marker*/foo|]():
35
- //// pass
36
- ////
37
- //// |]def nextFoo():
38
- //// pass
39
-
40
- // @filename: moved.py
41
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
42
- `;
43
- testFromCode(code);
44
- });
45
- test('at the end of a file with other symbols above', () => {
46
- const code = `
47
- // @filename: test.py
48
- //// def beforeFoo():
49
- //// pass
50
- ////
51
- //// [|{|"r":""|}def [|/*marker*/foo|]():
52
- //// pass|]
53
-
54
- // @filename: moved.py
55
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
56
- `;
57
- testFromCode(code);
58
- });
59
- test('between symbols', () => {
60
- const code = `
61
- // @filename: test.py
62
- //// def beforeFoo():
63
- //// pass
64
- ////
65
- //// [|{|"r":""|}def [|/*marker*/foo|]():
66
- //// pass
67
- ////
68
- ////
69
- //// |]def afterFoo():
70
- //// pass
71
- ////
72
-
73
- // @filename: moved.py
74
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
75
- `;
76
- testFromCode(code);
77
- });
78
- test('insert to empty file', () => {
79
- const code = `
80
- // @filename: test.py
81
- //// [|{|"r":""|}def [|/*marker*/foo|]():
82
- //// pass|]
83
-
84
- // @filename: moved.py
85
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
86
- `;
87
- testFromCode(code);
88
- });
89
- test('insert to empty file with blank lines', () => {
90
- const code = `
91
- // @filename: test.py
92
- //// [|{|"r":""|}def [|/*marker*/foo|]():
93
- //// pass|]
94
-
95
- // @filename: moved.py
96
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
97
- ////
98
- ////
99
- `;
100
- testFromCode(code);
101
- });
102
- test('insert to empty file with comments', () => {
103
- const code = `
104
- // @filename: test.py
105
- //// [|{|"r":""|}def [|/*marker*/foo|]():
106
- //// pass|]
107
-
108
- // @filename: moved.py
109
- //// # comment
110
- //// [|{|"r":"!n!def foo():!n! pass", "name": "dest"|}|]
111
- `;
112
- testFromCode(code);
113
- });
114
- test('insert to empty file with comments and blank lines', () => {
115
- const code = `
116
- // @filename: test.py
117
- //// [|{|"r":""|}def [|/*marker*/foo|]():
118
- //// pass|]
119
-
120
- // @filename: moved.py
121
- //// # comment
122
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
123
- ////
124
- `;
125
- testFromCode(code);
126
- });
127
- test('insert after other symbol', () => {
128
- const code = `
129
- // @filename: test.py
130
- //// [|{|"r":""|}def [|/*marker*/foo|]():
131
- //// pass|]
132
-
133
- // @filename: moved.py
134
- //// def beforeFoo():
135
- //// pass[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
136
- `;
137
- testFromCode(code);
138
- });
139
- test('insert between symbols', () => {
140
- const code = `
141
- // @filename: test.py
142
- //// [|{|"r":""|}def [|/*marker*/foo|]():
143
- //// pass|]
144
-
145
- // @filename: moved.py
146
- //// def beforeFoo():
147
- //// pass[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
148
- ////
149
- //// def __privateFunc():
150
- //// pass
151
- `;
152
- testFromCode(code);
153
- });
154
- test('no insert with conflicting name', () => {
155
- const code = `
156
- // @filename: test.py
157
- //// def [|/*marker*/foo|]():
158
- //// pass
159
-
160
- // @filename: moved.py
161
- //// # same name already exist
162
- //// [|/*dest*/|]
163
- //// def foo():
164
- //// pass
165
- `;
166
- const state = (0, testState_1.parseAndGetTestState)(code).state;
167
- const actions = state.program.moveSymbolAtPosition(state.getMarkerByName('marker').fileName, state.getMarkerByName('dest').fileName, state.getPositionRange('marker').start, { importFormat: "absolute" /* Absolute */ }, vscode_languageserver_1.CancellationToken.None);
168
- (0, assert_1.default)(!actions);
169
- });
170
- test('insert to a file with same symbol imported without alias', () => {
171
- const code = `
172
- // @filename: test.py
173
- //// [|{|"r":""|}def [|/*marker*/foo|]():
174
- //// pass|]
175
-
176
- // @filename: moved.py
177
- //// [|{|"r":""|}from test import foo
178
- //// |]import os[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
179
- `;
180
- testFromCode(code);
181
- });
182
- test('insert to a file with same symbol imported with multiple symbol imports', () => {
183
- const code = `
184
- // @filename: test.py
185
- //// [|{|"r":""|}def [|/*marker*/foo|]():
186
- //// pass
187
- ////
188
- //// |]def bar():
189
- //// pass
190
-
191
- // @filename: moved.py
192
- //// from test import bar[|{|"r":""|}, foo|][|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
193
- `;
194
- testFromCode(code);
195
- });
196
- test('insert to a file with same symbol used off import', () => {
197
- const code = `
198
- // @filename: test.py
199
- //// [|{|"r":""|}def [|/*marker*/foo|]():
200
- //// pass|]
201
-
202
- // @filename: moved.py
203
- //// [|{|"r":""|}import test
204
- //// |]import os[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
205
- ////
206
- //// [|{|"r":""|}test.|]foo()
207
- `;
208
- testFromCode(code);
209
- });
210
- test('insert to a file with same symbol used off import with edit merge', () => {
211
- const code = `
212
- // @filename: test.py
213
- //// [|{|"r":""|}def [|/*marker*/foo|]():
214
- //// pass|]
215
-
216
- // @filename: moved.py
217
- //// [|{|"r":""|}import test[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
218
- //// |]
219
- ////
220
- //// [|{|"r":""|}test.|]foo()
221
- `;
222
- testFromCode(code);
223
- });
224
- test('insert to a file with same symbol used off import with alias', () => {
225
- const code = `
226
- // @filename: test.py
227
- //// [|{|"r":""|}def [|/*marker*/foo|]():
228
- //// pass|]
229
-
230
- // @filename: moved.py
231
- //// [|{|"r":""|}import test as t
232
- //// |]import os[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
233
- ////
234
- //// [|{|"r":""|}t.|]foo()
235
-
236
- `;
237
- testFromCode(code);
238
- });
239
- test('insert to a file with same symbol used off import with other symbols', () => {
240
- const code = `
241
- // @filename: test.py
242
- //// [|{|"r":""|}def [|/*marker*/foo|]():
243
- //// pass
244
- ////
245
- //// |]def bar():
246
- //// pass
247
-
248
- // @filename: moved.py
249
- //// import test[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
250
- ////
251
- //// [|{|"r":""|}test.|]foo()
252
- //// test.bar()
253
- `;
254
- testFromCode(code);
255
- });
256
- test('insert to a file with same symbol used off from import', () => {
257
- const code = `
258
- // @filename: test.py
259
- //// [|{|"r":""|}def [|/*marker*/foo|]():
260
- //// pass|]
261
-
262
- // @filename: moved.py
263
- //// [|{|"r":""|}from . import test
264
- //// |]import os[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
265
- ////
266
- //// [|{|"r":""|}test.|]foo()
267
- `;
268
- testFromCode(code);
269
- });
270
- test('insert to a file with same symbol imported with alias', () => {
271
- const code = `
272
- // @filename: test.py
273
- //// [|{|"r":""|}def [|/*marker*/foo|]():
274
- //// pass|]
275
-
276
- // @filename: moved.py
277
- //// [|{|"r":""|}from test import foo as aliasFoo
278
- //// |]
279
- //// aliasFoo()[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
280
- `;
281
- testFromCode(code);
282
- });
283
- test('insert to a file with same symbol imported and used', () => {
284
- const code = `
285
- // @filename: test.py
286
- //// [|{|"r":""|}def [|/*marker*/foo|]():
287
- //// pass|]
288
-
289
- // @filename: moved.py
290
- //// [|{|"r":""|}from test import foo
291
- //// |]import os[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
292
- ////
293
- //// foo()
294
- `;
295
- testFromCode(code);
296
- });
297
- test('insert to a file with same symbol used off import with alias and used', () => {
298
- const code = `
299
- // @filename: test.py
300
- //// [|{|"r":""|}def [|/*marker*/foo|]():
301
- //// pass
302
- //// |]def bar():
303
- //// pass
304
-
305
- // @filename: moved.py
306
- //// import test as t[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
307
- ////
308
- //// [|{|"r":""|}t.|]foo()
309
- //// t.bar()
310
- `;
311
- testFromCode(code);
312
- });
313
- test('insert import to original file for usage', () => {
314
- const code = `
315
- // @filename: test.py
316
- //// [|{|"r":"from moved import foo!n!!n!!n!"|}|][|{|"r":""|}def [|/*marker*/foo|]():
317
- //// pass
318
- //// |]foo()
319
-
320
- // @filename: moved.py
321
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
322
- `;
323
- testFromCode(code);
324
- });
325
- test('insert import name to the existing import in the original file for usage', () => {
326
- const code = `
327
- // @filename: test.py
328
- //// from moved import bar[|{|"r":", foo"|}|]
329
- ////
330
- //// [|{|"r":""|}def [|/*marker*/foo|]():
331
- //// pass
332
- //// |]foo()
333
-
334
- // @filename: moved.py
335
- //// def bar():
336
- //// pass[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
337
- `;
338
- testFromCode(code);
339
- });
340
- test('original file has import for the symbol with alias', () => {
341
- const code = `
342
- // @filename: test.py
343
- //// from [|{|"r": "moved"|}test|] import foo as aliasFoo
344
- ////
345
- //// aliasFoo()
346
- ////
347
- //// [|{|"r":""|}def [|/*marker*/foo|]():
348
- //// pass
349
- //// |]
350
-
351
- // @filename: moved.py
352
- //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
353
- `;
354
- testFromCode(code);
355
- });
356
- test('move after class', () => {
357
- const code = `
358
- // @filename: test.py
359
- //// [|{|"r":""|}def [|/*marker*/foo|]():
360
- //// pass
361
- //// |]
362
-
363
- // @filename: moved.py
364
- //// class A:
365
- //// def foo(self):
366
- //// pass[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
367
- `;
368
- testFromCode(code);
369
- });
370
- test('move variable', () => {
371
- const code = `
372
- // @filename: test.py
373
- //// [|{|"r":""|}[|/*marker*/A|] = 1|]
374
-
375
- // @filename: moved.py
376
- //// [|{|"r":"A = 1", "name": "dest"|}|]
377
- `;
378
- testFromCode(code);
379
- });
380
- test('move variable with doc string', () => {
381
- const code = `
382
- // @filename: test.py
383
- //// [|{|"r":""|}[|/*marker*/A|] = 1
384
- //// '''
385
- //// doc string
386
- //// '''|]
387
-
388
- // @filename: moved.py
389
- //// [|{|"r":"A = 1!n!'''!n! doc string!n!'''", "name": "dest"|}|]
390
- `;
391
- testFromCode(code);
392
- });
393
- test('move a variable with another variable next line', () => {
394
- const code = `
395
- // @filename: test.py
396
- //// [|{|"r":"!n!guess_word = 'c'"|}import random
397
- ////
398
- //// [|/*marker*/answer_word|] = random.choice(['a','b','c','d'])
399
- //// guess_word = 'c'|]
400
-
401
- // @filename: moved.py
402
- //// [|{|"r":"import random!n!!n!!n!answer_word = random.choice(['a','b','c','d'])", "name": "dest"|}|]
403
- `;
404
- testFromCode(code);
405
- });
406
- test('Handle comments at the begining better 1', () => {
407
- const code = `
408
- // @filename: test.py
409
- //// # this function doesn't do much
410
- //// [|{|"r":""|}def [|/*marker*/myfunc|](a, b):
411
- //// return a + b|]
412
-
413
- // @filename: moved.py
414
- //// [|{|"r":"def myfunc(a, b):!n! return a + b", "name": "dest"|}|]
415
- `;
416
- testFromCode(code);
417
- });
418
- test('Handle comments at the begining better 2', () => {
419
- const code = `
420
- // @filename: test.py
421
- //// import os
422
- ////
423
- //// [|{|"r":""|}# this function doesn't do much
424
- //// def [|/*marker*/myfunc|](a, b):
425
- //// return a + b|]
426
-
427
- // @filename: moved.py
428
- //// [|{|"r":"# this function doesn't do much!n!def myfunc(a, b):!n! return a + b", "name": "dest"|}|]
429
- `;
430
- testFromCode(code);
431
- });
432
- test('variable with multiline expression', () => {
433
- const code = `
434
- // @filename: test.py
435
- //// [|{|"r":"!n!"|}from functools import partial
436
- ////
437
- //// [|/*marker*/sum1_2|] = partial(sum,
438
- //// [1,
439
- //// 2]
440
- //// )|]
441
-
442
- // @filename: moved.py
443
- //// [|{|"r":"from functools import partial!n!!n!!n!sum1_2 = partial(sum,!n![1,!n!2]!n!)", "name": "dest"|}|]
444
- `;
445
- testFromCode(code);
446
- });
447
- test('multiple variables in a single line 1', () => {
448
- const code = `
449
- // @filename: test.py
450
- //// [|{|"r":""|}[|/*marker*/a|] = 1; |]b = 1
451
-
452
- // @filename: moved.py
453
- //// [|{|"r":"a = 1;", "name": "dest"|}|]
454
- `;
455
- testFromCode(code);
456
- });
457
- test('multiple variables in a single line 2', () => {
458
- const code = `
459
- // @filename: test.py
460
- //// a = 1;[|{|"r":""|}[|/*marker*/b|] = 2|]
461
-
462
- // @filename: moved.py
463
- //// [|{|"r":"b = 2", "name": "dest"|}|]
464
- `;
465
- testFromCode(code);
466
- });
467
- test('multiple variables in multiple lines 1', () => {
468
- const code = `
469
- // @filename: test.py
470
- //// [|{|"r":""|}[|/*marker*/a|] = \\
471
- //// 1 + 2; |]b = 3 + \\
472
- //// 4
473
-
474
- // @filename: moved.py
475
- //// [|{|"r":"a = \\\\!n! 1 + 2;", "name": "dest"|}|]
476
- `;
477
- testFromCode(code);
478
- });
479
- test('multiple variables in multiple lines 2', () => {
480
- const code = `
481
- // @filename: test.py
482
- //// a = \\
483
- //// 1 + 2; [|{|"r":""|}[|/*marker*/b|] = 3 + \\
484
- //// 4|]
485
-
486
- // @filename: moved.py
487
- //// [|{|"r":"b = 3 + \\\\!n! 4", "name": "dest"|}|]
488
- `;
489
- testFromCode(code);
490
- });
491
- test('insert after comment', () => {
492
- const code = `
493
- // @filename: test.py
494
- //// [|{|"r":""|}[|/*marker*/b|] = 3|]
495
-
496
- // @filename: moved.py
497
- //// a = 1 # type: ignore[|{|"r":"!n!b = 3", "name": "dest"|}|]
498
- `;
499
- testFromCode(code);
500
- });
501
- test('keep comments', () => {
502
- const code = `
503
- // @filename: test.py
504
- //// [|{|"r":""|}def [|/*marker*/test|]():
505
- //// return # comment|]
506
-
507
- // @filename: moved.py
508
- //// [|{|"r":"def test():!n! return # comment", "name": "dest"|}|]
509
- `;
510
- testFromCode(code);
511
- });
512
- test('statement list', () => {
513
- const code = `
514
- // @filename: test.py
515
- //// [|{|"r":""|}[|/*marker*/a|] = 1|]
516
-
517
- // @filename: moved.py
518
- //// print("hello")[|{|"r":"!n!a = 1", "name": "dest"|}|]
519
- `;
520
- testFromCode(code);
521
- });
522
- test('regular statement', () => {
523
- const code = `
524
- // @filename: test.py
525
- //// [|{|"r":""|}[|/*marker*/a|] = 1|]
526
-
527
- // @filename: moved.py
528
- //// if True:
529
- //// pass[|{|"r":"!n!!n!a = 1", "name": "dest"|}|]
530
- `;
531
- testFromCode(code);
532
- });
533
- function testFromCode(code) {
534
- const state = (0, testState_1.parseAndGetTestState)(code).state;
535
- (0, renameModuleTestUtils_1.testMoveSymbolAtPosition)(state, state.getMarkerByName('marker').fileName, state.getMarkerByName('dest').fileName, state.getPositionRange('marker').start);
536
- }
537
- //# sourceMappingURL=moveSymbol.insertion.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"moveSymbol.insertion.test.js","sourceRoot":"","sources":["../../../src/tests/moveSymbol.insertion.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};