@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,372 +0,0 @@
1
- "use strict";
2
- /*
3
- * indentationUtils.test.ts
4
- * Copyright (c) Microsoft Corporation.
5
- * Licensed under the MIT license.
6
- *
7
- * Unit tests for indentationUtils 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 textRange_1 = require("../common/textRange");
15
- const indentationUtils_1 = require("../languageService/indentationUtils");
16
- const testState_1 = require("./harness/fourslash/testState");
17
- test('re-indentation simple', () => {
18
- const code = `
19
- //// [|/*marker*/def foo(): pass|]
20
- `;
21
- const expected = `def foo(): pass`;
22
- testIndentation(code, 0, expected);
23
- });
24
- test('re-indentation indent first token', () => {
25
- const code = `
26
- //// [|/*marker*/ def foo(): pass|]
27
- `;
28
- const expected = ` def foo(): pass`;
29
- testIndentation(code, 2, expected);
30
- });
31
- test('re-indentation explicit multiline expression', () => {
32
- const code = `
33
- //// [|/*marker*/def foo():
34
- //// i = \\
35
- //// 1 \\
36
- //// + \\
37
- //// 2|]
38
- `;
39
- const expected = ` def foo():
40
- i = \\
41
- 1 \\
42
- + \\
43
- 2`;
44
- testIndentation(code, 2, expected);
45
- });
46
- test('re-indentation explicit multiline expression with multiple backslash', () => {
47
- const code = `
48
- //// [|/*marker*/def foo():
49
- //// i = \\
50
- //// \\
51
- //// \\
52
- //// 1|]
53
- `;
54
- const expected = ` def foo():
55
- i = \\
56
- \\
57
- \\
58
- 1`;
59
- testIndentation(code, 2, expected);
60
- });
61
- test('re-indentation multiline construct', () => {
62
- const code = `
63
- //// [|/*marker*/def \\
64
- //// foo():
65
- //// i = 1 + 2|]
66
- `;
67
- const expected = ` def \\
68
- foo():
69
- i = 1 + 2`;
70
- testIndentation(code, 2, expected);
71
- });
72
- test('re-indentation implicit multiline expression', () => {
73
- const code = `
74
- //// [|/*marker*/def foo():
75
- //// i = (
76
- //// 1
77
- //// +
78
- //// 2
79
- //// )|]
80
- `;
81
- const expected = ` def foo():
82
- i = (
83
- 1
84
- +
85
- 2
86
- )`;
87
- testIndentation(code, 2, expected);
88
- });
89
- test('re-indentation implicit multiline expression with multiple blank lines', () => {
90
- const code = `
91
- //// [|/*marker*/def foo():
92
- //// i = [
93
- //// 1,
94
- ////
95
- //// 2
96
- //// ]|]
97
- `;
98
- const expected = ` def foo():
99
- i = [
100
- 1,
101
-
102
- 2
103
- ]`;
104
- testIndentation(code, 2, expected);
105
- });
106
- test('re-indentation single line string', () => {
107
- const code = `
108
- //// [|/*marker*/def foo():
109
- //// str = "string data"|]
110
- `;
111
- const expected = ` def foo():
112
- str = "string data"`;
113
- testIndentation(code, 2, expected);
114
- });
115
- test('re-indentation multiline line string', () => {
116
- const code = `
117
- //// [|/*marker*/def foo():
118
- //// str = """first line
119
- //// second line
120
- //// last line
121
- //// """|]
122
- `;
123
- const expected = ` def foo():
124
- str = """first line
125
- second line
126
- last line
127
- """`;
128
- testIndentation(code, 2, expected);
129
- });
130
- test('re-indentation with comments', () => {
131
- const code = `
132
- //// [|/*marker*/def foo(): # comment at the end
133
- //// # commend above the line
134
- //// a = ( # commend at multiline expression
135
- //// 1 + 2 # comment after expression
136
- //// )
137
- //// # commend before end of file|]
138
- `;
139
- const expected = ` def foo(): # comment at the end
140
- # commend above the line
141
- a = ( # commend at multiline expression
142
- 1 + 2 # comment after expression
143
- )
144
- # commend before end of file`;
145
- testIndentation(code, 2, expected);
146
- });
147
- test('re-indentation with comments with backslash', () => {
148
- const code = `
149
- //// [|/*marker*/def foo(): # comment at the end
150
- //// # commend above the line
151
- //// a = \\
152
- //// 1 + 2 # comment after expression
153
- ////
154
- //// # commend before end of file|]
155
- `;
156
- const expected = ` def foo(): # comment at the end
157
- # commend above the line
158
- a = \\
159
- 1 + 2 # comment after expression
160
-
161
- # commend before end of file`;
162
- testIndentation(code, 2, expected);
163
- });
164
- test('re-indentation doc comment', () => {
165
- const code = `
166
- //// [|/*marker*/def foo():
167
- //// """ doc comment """
168
- //// a = 1|]
169
- `;
170
- const expected = ` def foo():
171
- """ doc comment """
172
- a = 1`;
173
- testIndentation(code, 2, expected);
174
- });
175
- test('re-indentation multiline doc comment', () => {
176
- const code = `
177
- //// [|/*marker*/def foo():
178
- //// """ doc comment
179
- //// line 1
180
- //// line 2
181
- //// """
182
- //// a = 1|]
183
- `;
184
- const expected = ` def foo():
185
- """ doc comment
186
- line 1
187
- line 2
188
- """
189
- a = 1`;
190
- testIndentation(code, 2, expected);
191
- });
192
- test('re-indentation top level multiline doc comment', () => {
193
- const code = `
194
- //// [|/*marker*/ """ doc comment
195
- //// line 1
196
- //// line 2
197
- //// """
198
- //// a = 1|]
199
- `;
200
- const expected = ` """ doc comment
201
- line 1
202
- line 2
203
- """
204
- a = 1`;
205
- testIndentation(code, 2, expected);
206
- });
207
- test('re-indentation invalid code', () => {
208
- const code = `
209
- //// [|/*marker*/ASDF
210
- //// ASDFASDFASD
211
- ////
212
- //// asdf asdf asd fasdf sdf asdf asdf asdf
213
- //// 23234235
214
- //// $%^#&*()_++
215
- //// asdfas asdf|]
216
- `;
217
- const expected = ` ASDF
218
- ASDFASDFASD
219
-
220
- asdf asdf asd fasdf sdf asdf asdf asdf
221
- 23234235
222
- $%^#&*()_++
223
- asdfas asdf`;
224
- testIndentation(code, 2, expected);
225
- });
226
- test('re-indentation without first token', () => {
227
- const code = `
228
- //// """ doc string """
229
- //// i = [|/*marker*/(
230
- //// 1 + 2
231
- //// )|]
232
- `;
233
- const expected = `(
234
- 1 + 2
235
- )`;
236
- testIndentation(code, 0, expected, /*indentFirstToken*/ false);
237
- });
238
- test('re-indentation single line variable doc string', () => {
239
- const code = `
240
- //// [|/*marker*/i = 1
241
- //// """ doc string """|]
242
- `;
243
- const expected = ` i = 1
244
- """ doc string """`;
245
- testIndentation(code, 2, expected);
246
- });
247
- test('re-indentation multiple line variable doc string', () => {
248
- const code = `
249
- //// [|/*marker*/i = 1
250
- //// """ doc string
251
- //// line 1
252
- //// """|]
253
- `;
254
- const expected = ` i = 1
255
- """ doc string
256
- line 1
257
- """`;
258
- testIndentation(code, 2, expected);
259
- });
260
- test('re-indentation single token', () => {
261
- const code = `
262
- //// [|/*marker*/a|]
263
- `;
264
- const expected = ` a`;
265
- testIndentation(code, 2, expected);
266
- });
267
- test('re-indentation between statements', () => {
268
- const code = `
269
- //// def foo():
270
- //// pass
271
- //// [|/*marker*/i = 1|]
272
- //// """ doc string
273
- //// line 1
274
- //// """
275
- `;
276
- const expected = ` i = 1`;
277
- testIndentation(code, 2, expected);
278
- });
279
- test('re-indentation inside of body', () => {
280
- const code = `
281
- //// def foo():
282
- //// [|/*marker*/ """ doc string
283
- //// line 1
284
- //// """
285
- //// i = 10|]
286
- `;
287
- const expected = ` """ doc string
288
- line 1
289
- """
290
- i = 10`;
291
- testIndentation(code, 2, expected);
292
- });
293
- test('re-indentation tab', () => {
294
- const code = `
295
- //// def foo():
296
- //// [|/*marker*/\t""" doc string
297
- //// \t\tline 1
298
- //// \t"""
299
- //// \ti = 10|]
300
- `;
301
- const expected = ` """ doc string
302
- \t line 1
303
- """
304
- i = 10`;
305
- testIndentation(code, 2, expected);
306
- });
307
- test('re-indentation tab on multiline text', () => {
308
- const code = `
309
- //// def foo():
310
- //// [|/*marker*/\ta = """ line 1
311
- //// \t\tline 2
312
- //// \t"""
313
- //// \ti = 10
314
- //// \tif True:
315
- //// \t\tpass|]
316
- `;
317
- const expected = ` a = """ line 1
318
- \t\tline 2
319
- \t"""
320
- i = 10
321
- if True:
322
- \t pass`;
323
- testIndentation(code, 2, expected);
324
- });
325
- test('dont include token not contained in the span', () => {
326
- const code = `
327
- //// import random
328
- ////
329
- //// [|/*marker*/answer_word = random.choice(["a","b","c","d"])
330
- //// |]guess_word = "c"
331
- `;
332
- const expected = `answer_word = random.choice(["a","b","c","d"])`;
333
- testIndentation(code, 0, expected);
334
- });
335
- test('handle comment before first token', () => {
336
- const code = `
337
- //// [|/*marker*/# this function doesn't do much
338
- //// def myfunc(a, b):
339
- //// return a + b|]
340
- `;
341
- const expected = `# this function doesn't do much
342
- def myfunc(a, b):
343
- return a + b`;
344
- testIndentation(code, 0, expected);
345
- });
346
- test('handle comment after last token', () => {
347
- const code = `
348
- //// [|/*marker*/def test():
349
- //// return # comment|]
350
- ////
351
- `;
352
- const expected = `def test():
353
- return # comment`;
354
- testIndentation(code, 0, expected);
355
- });
356
- test('handle comment after last token at EOF', () => {
357
- const code = `
358
- //// [|/*marker*/def test():
359
- //// return # comment|]
360
- `;
361
- const expected = `def test():
362
- return # comment`;
363
- testIndentation(code, 0, expected);
364
- });
365
- function testIndentation(code, indentation, expected, indentFirstToken = true) {
366
- const state = (0, testState_1.parseAndGetTestState)(code).state;
367
- const range = state.getRangeByMarkerName('marker');
368
- const parseResults = state.program.getBoundSourceFile(range.fileName).getParseResults();
369
- const actual = (0, indentationUtils_1.reindentSpan)(parseResults, textRange_1.TextRange.fromBounds(range.pos, range.end), indentation, indentFirstToken).text;
370
- assert_1.default.strictEqual(actual, expected);
371
- }
372
- //# sourceMappingURL=indentationUtils.reindent.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indentationUtils.reindent.test.js","sourceRoot":"","sources":["../../../src/tests/indentationUtils.reindent.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};