@zzzen/pyright-internal 1.2.0-dev.20230423 → 1.2.0-dev.20230507

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 (260) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +4 -1
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/backgroundAnalysisProgram.d.ts +7 -4
  4. package/dist/analyzer/backgroundAnalysisProgram.js +22 -7
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +12 -7
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/checker.d.ts +1 -0
  9. package/dist/analyzer/checker.js +58 -7
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/constructors.d.ts +6 -0
  12. package/dist/analyzer/constructors.js +456 -0
  13. package/dist/analyzer/constructors.js.map +1 -0
  14. package/dist/analyzer/dataClasses.js +89 -2
  15. package/dist/analyzer/dataClasses.js.map +1 -1
  16. package/dist/analyzer/declarationUtils.d.ts +6 -1
  17. package/dist/analyzer/declarationUtils.js +10 -8
  18. package/dist/analyzer/declarationUtils.js.map +1 -1
  19. package/dist/analyzer/enums.js +54 -8
  20. package/dist/analyzer/enums.js.map +1 -1
  21. package/dist/analyzer/importResolver.d.ts +15 -15
  22. package/dist/analyzer/importResolver.js +477 -477
  23. package/dist/analyzer/importResolver.js.map +1 -1
  24. package/dist/analyzer/importStatementUtils.d.ts +2 -2
  25. package/dist/analyzer/importStatementUtils.js.map +1 -1
  26. package/dist/analyzer/namedTuples.d.ts +1 -1
  27. package/dist/analyzer/namedTuples.js +30 -42
  28. package/dist/analyzer/namedTuples.js.map +1 -1
  29. package/dist/analyzer/operations.d.ts +16 -0
  30. package/dist/analyzer/operations.js +749 -0
  31. package/dist/analyzer/operations.js.map +1 -0
  32. package/dist/analyzer/packageTypeReport.d.ts +2 -1
  33. package/dist/analyzer/packageTypeReport.js +2 -1
  34. package/dist/analyzer/packageTypeReport.js.map +1 -1
  35. package/dist/analyzer/packageTypeVerifier.d.ts +1 -1
  36. package/dist/analyzer/packageTypeVerifier.js +27 -13
  37. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  38. package/dist/analyzer/parseTreeUtils.d.ts +4 -2
  39. package/dist/analyzer/parseTreeUtils.js +32 -1
  40. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  41. package/dist/analyzer/patternMatching.js +16 -0
  42. package/dist/analyzer/patternMatching.js.map +1 -1
  43. package/dist/analyzer/program.d.ts +29 -53
  44. package/dist/analyzer/program.js +1050 -1649
  45. package/dist/analyzer/program.js.map +1 -1
  46. package/dist/analyzer/protocols.js +1 -1
  47. package/dist/analyzer/protocols.js.map +1 -1
  48. package/dist/analyzer/service.d.ts +14 -35
  49. package/dist/analyzer/service.js +92 -121
  50. package/dist/analyzer/service.js.map +1 -1
  51. package/dist/analyzer/sourceFile.d.ts +14 -49
  52. package/dist/analyzer/sourceFile.js +271 -291
  53. package/dist/analyzer/sourceFile.js.map +1 -1
  54. package/dist/analyzer/sourceFileInfoUtils.d.ts +2 -2
  55. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  56. package/dist/analyzer/typeEvaluator.js +417 -1570
  57. package/dist/analyzer/typeEvaluator.js.map +1 -1
  58. package/dist/analyzer/typeEvaluatorTypes.d.ts +44 -9
  59. package/dist/analyzer/typeEvaluatorTypes.js +33 -1
  60. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  61. package/dist/analyzer/typeGuards.js +5 -9
  62. package/dist/analyzer/typeGuards.js.map +1 -1
  63. package/dist/analyzer/typeStubWriter.js.map +1 -1
  64. package/dist/analyzer/typeUtils.d.ts +3 -0
  65. package/dist/analyzer/typeUtils.js +66 -9
  66. package/dist/analyzer/typeUtils.js.map +1 -1
  67. package/dist/analyzer/typeVarContext.d.ts +5 -5
  68. package/dist/analyzer/typeVarContext.js +7 -0
  69. package/dist/analyzer/typeVarContext.js.map +1 -1
  70. package/dist/analyzer/typedDicts.js +2 -2
  71. package/dist/analyzer/typedDicts.js.map +1 -1
  72. package/dist/analyzer/types.d.ts +4 -2
  73. package/dist/analyzer/types.js +7 -0
  74. package/dist/analyzer/types.js.map +1 -1
  75. package/dist/backgroundAnalysisBase.d.ts +10 -11
  76. package/dist/backgroundAnalysisBase.js +87 -87
  77. package/dist/backgroundAnalysisBase.js.map +1 -1
  78. package/dist/commands/dumpFileDebugInfoCommand.js +8 -8
  79. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  80. package/dist/commands/quickActionCommand.js +4 -1
  81. package/dist/commands/quickActionCommand.js.map +1 -1
  82. package/dist/common/cancellationUtils.d.ts +1 -1
  83. package/dist/common/cancellationUtils.js +9 -9
  84. package/dist/common/cancellationUtils.js.map +1 -1
  85. package/dist/common/commandLineOptions.d.ts +1 -2
  86. package/dist/common/commandLineOptions.js.map +1 -1
  87. package/dist/common/configOptions.d.ts +2 -2
  88. package/dist/common/configOptions.js.map +1 -1
  89. package/dist/common/console.d.ts +5 -9
  90. package/dist/common/console.js +46 -33
  91. package/dist/common/console.js.map +1 -1
  92. package/dist/common/deferred.js +10 -10
  93. package/dist/common/deferred.js.map +1 -1
  94. package/dist/common/extensibility.d.ts +27 -5
  95. package/dist/common/extensibility.js +1 -1
  96. package/dist/common/extensibility.js.map +1 -1
  97. package/dist/common/fileBasedCancellationUtils.js +5 -5
  98. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  99. package/dist/common/fileSystem.d.ts +12 -10
  100. package/dist/common/fileSystem.js.map +1 -1
  101. package/dist/common/fullAccessHost.d.ts +3 -3
  102. package/dist/common/fullAccessHost.js +6 -6
  103. package/dist/common/fullAccessHost.js.map +1 -1
  104. package/dist/common/pathUtils.d.ts +13 -13
  105. package/dist/common/pathUtils.js.map +1 -1
  106. package/dist/common/realFileSystem.js +12 -7
  107. package/dist/common/realFileSystem.js.map +1 -1
  108. package/dist/common/uriParser.d.ts +2 -2
  109. package/dist/common/uriParser.js +3 -3
  110. package/dist/common/uriParser.js.map +1 -1
  111. package/dist/common/workspaceEditUtils.d.ts +5 -5
  112. package/dist/common/workspaceEditUtils.js +7 -4
  113. package/dist/common/workspaceEditUtils.js.map +1 -1
  114. package/dist/languageServerBase.d.ts +32 -31
  115. package/dist/languageServerBase.js +278 -345
  116. package/dist/languageServerBase.js.map +1 -1
  117. package/dist/languageService/analyzerServiceExecutor.js +0 -1
  118. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  119. package/dist/languageService/callHierarchyProvider.d.ts +16 -12
  120. package/dist/languageService/callHierarchyProvider.js +125 -41
  121. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  122. package/dist/languageService/completionProvider.d.ts +10 -13
  123. package/dist/languageService/completionProvider.js +21 -10
  124. package/dist/languageService/completionProvider.js.map +1 -1
  125. package/dist/languageService/definitionProvider.d.ts +23 -9
  126. package/dist/languageService/definitionProvider.js +116 -91
  127. package/dist/languageService/definitionProvider.js.map +1 -1
  128. package/dist/languageService/documentHighlightProvider.d.ts +8 -3
  129. package/dist/languageService/documentHighlightProvider.js +17 -6
  130. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  131. package/dist/languageService/documentSymbolCollector.d.ts +6 -7
  132. package/dist/languageService/documentSymbolCollector.js +21 -11
  133. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  134. package/dist/languageService/documentSymbolProvider.js +5 -3
  135. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  136. package/dist/languageService/hoverProvider.d.ts +4 -3
  137. package/dist/languageService/hoverProvider.js +30 -36
  138. package/dist/languageService/hoverProvider.js.map +1 -1
  139. package/dist/languageService/navigationUtils.d.ts +6 -0
  140. package/dist/languageService/navigationUtils.js +28 -0
  141. package/dist/languageService/navigationUtils.js.map +1 -0
  142. package/dist/languageService/quickActions.d.ts +2 -2
  143. package/dist/languageService/quickActions.js +12 -1
  144. package/dist/languageService/quickActions.js.map +1 -1
  145. package/dist/languageService/referencesProvider.d.ts +13 -12
  146. package/dist/languageService/referencesProvider.js +102 -16
  147. package/dist/languageService/referencesProvider.js.map +1 -1
  148. package/dist/languageService/renameProvider.d.ts +17 -0
  149. package/dist/languageService/renameProvider.js +143 -0
  150. package/dist/languageService/renameProvider.js.map +1 -0
  151. package/dist/languageService/signatureHelpProvider.d.ts +19 -23
  152. package/dist/languageService/signatureHelpProvider.js +111 -18
  153. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  154. package/dist/localization/localize.d.ts +17 -14
  155. package/dist/localization/localize.js +4 -6
  156. package/dist/localization/localize.js.map +1 -1
  157. package/dist/localization/package.nls.en-us.json +5 -6
  158. package/dist/parser/characterStream.d.ts +3 -3
  159. package/dist/parser/characterStream.js +12 -12
  160. package/dist/parser/characterStream.js.map +1 -1
  161. package/dist/parser/parser.d.ts +1 -1
  162. package/dist/parser/parser.js.map +1 -1
  163. package/dist/pyright.js +57 -54
  164. package/dist/pyright.js.map +1 -1
  165. package/dist/pyrightFileSystem.d.ts +1 -1
  166. package/dist/pyrightFileSystem.js +21 -21
  167. package/dist/pyrightFileSystem.js.map +1 -1
  168. package/dist/readonlyAugmentedFileSystem.d.ts +6 -6
  169. package/dist/readonlyAugmentedFileSystem.js +28 -28
  170. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  171. package/dist/server.js +6 -6
  172. package/dist/server.js.map +1 -1
  173. package/dist/tests/chainedSourceFiles.test.js +1 -1
  174. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  175. package/dist/tests/checker.test.js +1 -1
  176. package/dist/tests/documentSymbolCollector.test.js +3 -3
  177. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  178. package/dist/tests/fourslash/fourslash.d.ts +4 -4
  179. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +1 -1
  180. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  181. package/dist/tests/harness/fourslash/testLanguageService.d.ts +3 -3
  182. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  183. package/dist/tests/harness/fourslash/testState.d.ts +11 -11
  184. package/dist/tests/harness/fourslash/testState.js +123 -113
  185. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  186. package/dist/tests/harness/vfs/filesystem.d.ts +8 -8
  187. package/dist/tests/harness/vfs/filesystem.js +68 -68
  188. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  189. package/dist/tests/importStatementUtils.test.js +34 -0
  190. package/dist/tests/importStatementUtils.test.js.map +1 -1
  191. package/dist/tests/signatureHelp.test.js +5 -1
  192. package/dist/tests/signatureHelp.test.js.map +1 -1
  193. package/dist/tests/sourceFile.test.js +2 -2
  194. package/dist/tests/sourceFile.test.js.map +1 -1
  195. package/dist/tests/testStateUtils.d.ts +2 -2
  196. package/dist/tests/testStateUtils.js +39 -9
  197. package/dist/tests/testStateUtils.js.map +1 -1
  198. package/dist/tests/typeEvaluator1.test.js +8 -0
  199. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  200. package/dist/tests/typeEvaluator2.test.js +13 -1
  201. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  202. package/dist/tests/typeEvaluator3.test.js +2 -2
  203. package/dist/tests/typeEvaluator4.test.js +9 -1
  204. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  205. package/dist/tests/typeEvaluator5.test.js +4 -0
  206. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  207. package/dist/tests/workspaceEditUtils.test.js +84 -0
  208. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  209. package/package.json +4 -4
  210. package/dist/languageService/indentationUtils.d.ts +0 -16
  211. package/dist/languageService/indentationUtils.js +0 -727
  212. package/dist/languageService/indentationUtils.js.map +0 -1
  213. package/dist/languageService/insertionPointUtils.d.ts +0 -9
  214. package/dist/languageService/insertionPointUtils.js +0 -132
  215. package/dist/languageService/insertionPointUtils.js.map +0 -1
  216. package/dist/languageService/renameModuleProvider.d.ts +0 -65
  217. package/dist/languageService/renameModuleProvider.js +0 -939
  218. package/dist/languageService/renameModuleProvider.js.map +0 -1
  219. package/dist/tests/indentationUtils.ptvs.test.d.ts +0 -1
  220. package/dist/tests/indentationUtils.ptvs.test.js +0 -324
  221. package/dist/tests/indentationUtils.ptvs.test.js.map +0 -1
  222. package/dist/tests/indentationUtils.reindent.test.d.ts +0 -1
  223. package/dist/tests/indentationUtils.reindent.test.js +0 -372
  224. package/dist/tests/indentationUtils.reindent.test.js.map +0 -1
  225. package/dist/tests/indentationUtils.test.d.ts +0 -1
  226. package/dist/tests/indentationUtils.test.js +0 -502
  227. package/dist/tests/indentationUtils.test.js.map +0 -1
  228. package/dist/tests/insertionPointUtils.test.d.ts +0 -1
  229. package/dist/tests/insertionPointUtils.test.js +0 -154
  230. package/dist/tests/insertionPointUtils.test.js.map +0 -1
  231. package/dist/tests/moveSymbol.importAdder.test.d.ts +0 -1
  232. package/dist/tests/moveSymbol.importAdder.test.js +0 -298
  233. package/dist/tests/moveSymbol.importAdder.test.js.map +0 -1
  234. package/dist/tests/moveSymbol.insertion.test.d.ts +0 -1
  235. package/dist/tests/moveSymbol.insertion.test.js +0 -537
  236. package/dist/tests/moveSymbol.insertion.test.js.map +0 -1
  237. package/dist/tests/moveSymbol.misc.test.d.ts +0 -1
  238. package/dist/tests/moveSymbol.misc.test.js +0 -169
  239. package/dist/tests/moveSymbol.misc.test.js.map +0 -1
  240. package/dist/tests/moveSymbol.updateReference.test.d.ts +0 -1
  241. package/dist/tests/moveSymbol.updateReference.test.js +0 -1057
  242. package/dist/tests/moveSymbol.updateReference.test.js.map +0 -1
  243. package/dist/tests/renameModule.folder.test.d.ts +0 -1
  244. package/dist/tests/renameModule.folder.test.js +0 -229
  245. package/dist/tests/renameModule.folder.test.js.map +0 -1
  246. package/dist/tests/renameModule.fromImports.test.d.ts +0 -1
  247. package/dist/tests/renameModule.fromImports.test.js +0 -790
  248. package/dist/tests/renameModule.fromImports.test.js.map +0 -1
  249. package/dist/tests/renameModule.imports.test.d.ts +0 -1
  250. package/dist/tests/renameModule.imports.test.js +0 -380
  251. package/dist/tests/renameModule.imports.test.js.map +0 -1
  252. package/dist/tests/renameModule.misc.test.d.ts +0 -1
  253. package/dist/tests/renameModule.misc.test.js +0 -615
  254. package/dist/tests/renameModule.misc.test.js.map +0 -1
  255. package/dist/tests/renameModule.relativePath.test.d.ts +0 -1
  256. package/dist/tests/renameModule.relativePath.test.js +0 -231
  257. package/dist/tests/renameModule.relativePath.test.js.map +0 -1
  258. package/dist/tests/renameModuleTestUtils.d.ts +0 -4
  259. package/dist/tests/renameModuleTestUtils.js +0 -76
  260. package/dist/tests/renameModuleTestUtils.js.map +0 -1
@@ -1,502 +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 indentationUtils_1 = require("../languageService/indentationUtils");
15
- const testState_1 = require("./harness/fourslash/testState");
16
- test('top level indentation', () => {
17
- const code = `
18
- //// [|/*marker*/|]def foo(): pass
19
- `;
20
- testIndentation(code, 0);
21
- });
22
- test('multiple top level indentation', () => {
23
- const code = `
24
- //// def foo(): pass
25
- //// def foo(): pass
26
- //// [|/*marker*/|]
27
- `;
28
- testIndentation(code, 0);
29
- });
30
- test('sibling indentation', () => {
31
- const code = `
32
- //// def foo():
33
- //// i = 1
34
- //// [|/*marker*/|]
35
- `;
36
- testIndentation(code, 4);
37
- });
38
- test('first child indentation', () => {
39
- const code = `
40
- //// def foo():
41
- //// [|/*marker*/|]
42
- `;
43
- testIndentation(code, 4);
44
- });
45
- test('nested first child indentation', () => {
46
- const code = `
47
- //// class A:
48
- //// def foo(self):
49
- //// [|/*marker*/|]
50
- `;
51
- testIndentation(code, 8);
52
- });
53
- test('nested sibling indentation', () => {
54
- const code = `
55
- //// class A:
56
- //// def foo(self):
57
- //// i = 1
58
- //// [|/*marker*/|]
59
- `;
60
- testIndentation(code, 8);
61
- });
62
- test('sibling indentation next line', () => {
63
- const code = `
64
- //// def foo():
65
- //// i = 1
66
- //// [|/*marker*/|]
67
- `;
68
- testIndentation(code, 4);
69
- });
70
- test('sibling indentation next line after indentation point', () => {
71
- const code = `
72
- //// def foo():
73
- //// i = 1
74
- //// [|/*marker*/|]
75
- `;
76
- testIndentation(code, 4);
77
- });
78
- test('sibling indentation next line at 0 char position', () => {
79
- const code = `
80
- //// def foo():
81
- //// i = 1
82
- //// [|/*marker*/|]
83
- `;
84
- testIndentation(code, 4);
85
- });
86
- test('sibling indentation after blank line', () => {
87
- const code = `
88
- //// def foo():
89
- //// i = 1
90
- ////
91
- //// [|/*marker*/|]
92
- `;
93
- testIndentation(code, 4);
94
- });
95
- test('parent indentation after pass', () => {
96
- const code = `
97
- //// def foo():
98
- //// pass
99
- //// [|/*marker*/|]
100
- `;
101
- testIndentation(code, 0);
102
- });
103
- test('parent indentation after return', () => {
104
- const code = `
105
- //// def foo():
106
- //// return
107
- //// [|/*marker*/|]
108
- `;
109
- testIndentation(code, 0);
110
- });
111
- test('parent indentation after raise', () => {
112
- const code = `
113
- //// def foo():
114
- //// raise
115
- //// [|/*marker*/|]
116
- `;
117
- testIndentation(code, 0);
118
- });
119
- test('parent indentation after continue', () => {
120
- const code = `
121
- //// def foo():
122
- //// while True:
123
- //// continue
124
- //// [|/*marker*/|]
125
- `;
126
- testIndentation(code, 4);
127
- });
128
- test('parent indentation after break', () => {
129
- const code = `
130
- //// def foo():
131
- //// while True:
132
- //// break
133
- //// [|/*marker*/|]
134
- `;
135
- testIndentation(code, 4);
136
- });
137
- test('between statements', () => {
138
- const code = `
139
- //// def foo():
140
- //// while True:
141
- //// i = 10
142
- //// [|/*marker*/|]
143
- //// i = 10
144
- `;
145
- testIndentation(code, 8);
146
- });
147
- test('between statements with prefer dedent', () => {
148
- const code = `
149
- //// def foo():
150
- //// while True:
151
- //// i = 10
152
- //// [|/*marker*/|]
153
- //// i = 10
154
- `;
155
- testIndentation(code, 4, /*preferDedent*/ true);
156
- });
157
- test('single line multiple statements', () => {
158
- const code = `
159
- //// def foo():
160
- //// import os; import sys
161
- //// [|/*marker*/|]
162
- `;
163
- testIndentation(code, 4);
164
- });
165
- test('single line pass', () => {
166
- const code = `
167
- //// def foo(): pass
168
- //// [|/*marker*/|]
169
- `;
170
- testIndentation(code, 0);
171
- });
172
- test('single line return', () => {
173
- const code = `
174
- //// def foo(): return
175
- //// [|/*marker*/|]
176
- `;
177
- testIndentation(code, 0);
178
- });
179
- test('single line raise', () => {
180
- const code = `
181
- //// def foo(): raise
182
- //// [|/*marker*/|]
183
- `;
184
- testIndentation(code, 0);
185
- });
186
- test('single line continue', () => {
187
- const code = `
188
- //// def foo():
189
- //// while True: continue
190
- //// [|/*marker*/|]
191
- `;
192
- testIndentation(code, 4);
193
- });
194
- test('single line break', () => {
195
- const code = `
196
- //// def foo():
197
- //// while True: break
198
- //// [|/*marker*/|]
199
- `;
200
- testIndentation(code, 4);
201
- });
202
- test('first member', () => {
203
- const code = `
204
- //// def foo():
205
- //// [|/*marker*/|]
206
- //// i = 1
207
- `;
208
- testIndentation(code, 8);
209
- });
210
- test('inner first member', () => {
211
- const code = `
212
- //// def foo():
213
- //// def bar():
214
- //// [|/*marker*/|]
215
- //// i = 1
216
- `;
217
- testIndentation(code, 6);
218
- });
219
- test('single line comment', () => {
220
- const code = `
221
- //// def foo():
222
- //// # single line comment
223
- //// [|/*marker*/|]
224
-
225
- `;
226
- testIndentation(code, 4);
227
- });
228
- test('multiline string literals top', () => {
229
- const code = `
230
- //// def foo():
231
- //// """
232
- //// [|/*marker*/|]
233
- `;
234
- testIndentation(code, 4);
235
- });
236
- test('multiline string literals - multiple statements', () => {
237
- const code = `
238
- //// def foo():
239
- //// import os; a = """
240
- //// [|/*marker*/|]
241
- `;
242
- testIndentation(code, 4);
243
- });
244
- test('multiline string literals - blank lines', () => {
245
- const code = `
246
- //// def foo():
247
- //// """
248
- ////
249
- //// [|/*marker*/|]
250
- `;
251
- testIndentation(code, 4);
252
- });
253
- test('multiline string literals - first non blank line', () => {
254
- const code = `
255
- //// def foo():
256
- //// i = \\
257
- //// 1; a = """
258
- //// [|/*marker*/|]
259
- //// """
260
- `;
261
- testIndentation(code, 7);
262
- });
263
- test('multiline string literals - align to content', () => {
264
- const code = `
265
- //// def foo():
266
- //// """
267
- //// Hello
268
- //// [|/*marker*/|]
269
- //// """
270
- `;
271
- testIndentation(code, 8);
272
- });
273
- test('multiline string literals - align to content with multiple blank lines', () => {
274
- const code = `
275
- //// def foo():
276
- //// """
277
- //// Title
278
- //// 1. Second
279
- ////
280
- ////
281
- ////
282
- ////
283
- //// [|/*marker*/|]
284
- //// """
285
- `;
286
- testIndentation(code, 12);
287
- });
288
- test('explicit multiline construct', () => {
289
- const code = `
290
- //// def \\
291
- //// [|/*marker*/|]
292
- ////
293
- `;
294
- testIndentation(code, 0);
295
- });
296
- test('multiple explicit multiline construct', () => {
297
- const code = `
298
- //// def foo \\
299
- //// \\[|/*marker*/|]
300
- ////
301
- ////
302
- `;
303
- testIndentation(code, 8);
304
- });
305
- test('explicit multiline expression', () => {
306
- const code = `
307
- //// def foo():
308
- //// a = 1 + \\
309
- //// [|/*marker*/|]
310
- ////
311
- `;
312
- testIndentation(code, 4);
313
- });
314
- test('explicit multiline expression between lines', () => {
315
- const code = `
316
- //// def foo():
317
- //// a = 1 + \\
318
- //// [|/*marker*/|]
319
- //// b = 1
320
- `;
321
- testIndentation(code, 4);
322
- });
323
- test('implicit multiline constructs', () => {
324
- const code = `
325
- //// def foo(
326
- //// [|/*marker*/|]
327
- `;
328
- testIndentation(code, 8);
329
- });
330
- test('multiple implicit multiline constructs', () => {
331
- const code = `
332
- //// def foo(
333
- //// a,
334
- //// [|/*marker*/|]
335
- `;
336
- testIndentation(code, 9);
337
- });
338
- test('multiple implicit multiline constructs with multiple statements', () => {
339
- const code = `
340
- //// b = 1
341
- ////
342
- //// def foo(
343
- //// a,
344
- //// [|/*marker*/|]
345
- `;
346
- testIndentation(code, 9);
347
- });
348
- test('multiline list', () => {
349
- const code = `
350
- //// a = [
351
- //// 1,
352
- //// [|/*marker*/|]
353
- //// ]
354
- `;
355
- testIndentation(code, 7);
356
- });
357
- test('empty multiline list', () => {
358
- const code = `
359
- //// a = [
360
- //// [|/*marker*/|]
361
- //// ]
362
- `;
363
- testIndentation(code, 4);
364
- });
365
- test('empty multiline list 2', () => {
366
- const code = `
367
- //// [
368
- //// [|/*marker*/|]
369
- //// ]
370
- `;
371
- testIndentation(code, 4);
372
- });
373
- test('nested empty multiline list', () => {
374
- const code = `
375
- //// [
376
- //// [
377
- //// [|/*marker*/|]
378
- //// ]
379
- //// ]
380
- `;
381
- testIndentation(code, 8);
382
- });
383
- test('unfinished block', () => {
384
- const code = `
385
- //// def foo(a: Union[int, str]):
386
- //// while True:
387
- //// [|/*marker*/|]
388
- ////
389
- //// def bar() -> int:
390
- //// return 1
391
- `;
392
- testIndentation(code, 8);
393
- });
394
- test('func params', () => {
395
- const code = `
396
- //// def foo_bar(
397
- //// [|/*marker*/|]var1, var2):
398
- //// pass
399
- `;
400
- testIndentation(code, 8);
401
- });
402
- test('func params 2', () => {
403
- const code = `
404
- //// def foo_bar(var1,
405
- //// [|/*marker*/|]var2):
406
- //// pass
407
- `;
408
- testIndentation(code, 12);
409
- });
410
- test('func params call', () => {
411
- const code = `
412
- //// def foo_bar(var1, var2):
413
- //// pass
414
- //// a = foo_bar(
415
- //// [|/*marker*/|]var1, var2)
416
- `;
417
- testIndentation(code, 4);
418
- });
419
- test('nested func params call', () => {
420
- const code = `
421
- //// def foo_bar(var1, var2):
422
- //// print(
423
- //// [|/*marker*/|]var1)
424
- `;
425
- testIndentation(code, 8);
426
- });
427
- test('nested func params call 2', () => {
428
- const code = `
429
- //// def foo_bar(var1, var2):
430
- //// print(var1,
431
- //// [|/*marker*/|]var1)
432
- `;
433
- testIndentation(code, 10);
434
- });
435
- test('class func params', () => {
436
- const code = `
437
- //// class Test():
438
- //// def foo_bar(self, var1, var2):
439
- //// print(var1,
440
- //// [|/*marker*/|]var1)
441
- `;
442
- testIndentation(code, 14);
443
- });
444
- test('nested closures', () => {
445
- const code = `
446
- //// import pytest
447
- ////
448
- //// class TestStuff:
449
- //// @pytest.mark.parametrize(
450
- //// ["given", "expected"],
451
- //// [
452
- //// ("A", ["A"]),
453
- //// ("A ", ["A"]),
454
- //// (" A", ["A"]),
455
- //// [|/*marker*/|]
456
- //// ("A, B", ["A", "B"]),
457
- //// ("A,B", ["A", "B"]),
458
- //// (" A, B", ["A", "B"]),
459
- //// ("A B", ["A B"]),
460
- //// ],
461
- //// )
462
- //// def test(given, expected):
463
- //// pass
464
- `;
465
- testIndentation(code, 16);
466
- });
467
- test('nested closures 2', () => {
468
- const code = `
469
- //// import pytest
470
- ////
471
- //// class TestStuff:
472
- //// @pytest.mark.parametrize(
473
- //// ["given", "expected"]
474
- //// [|/*marker*/|]
475
- //// )
476
- //// def test(given, expected):
477
- //// pass
478
- `;
479
- testIndentation(code, 8);
480
- });
481
- test('nested closures 3', () => {
482
- const code = `
483
- //// import pytest
484
- ////
485
- //// class TestStuff:
486
- //// @pytest.mark.parametrize(
487
- //// ["given", "expected"
488
- //// [|/*marker*/|]
489
- //// )
490
- //// def test(given, expected):
491
- //// pass
492
- `;
493
- testIndentation(code, 9);
494
- });
495
- function testIndentation(code, indentation, preferDedent) {
496
- const state = (0, testState_1.parseAndGetTestState)(code).state;
497
- const marker = state.getMarkerByName('marker');
498
- const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
499
- const actual = (0, indentationUtils_1.getNewlineIndentation)(parseResults, marker.position, preferDedent);
500
- assert_1.default.strictEqual(actual, indentation);
501
- }
502
- //# sourceMappingURL=indentationUtils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indentationUtils.test.js","sourceRoot":"","sources":["../../../src/tests/indentationUtils.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,154 +0,0 @@
1
- "use strict";
2
- /*
3
- * insertionPointUtils.test.ts
4
- * Copyright (c) Microsoft Corporation.
5
- * Licensed under the MIT license.
6
- *
7
- * Unit tests for insertionPointUtils module.
8
- */
9
- var __importDefault = (this && this.__importDefault) || function (mod) {
10
- return (mod && mod.__esModule) ? mod : { "default": mod };
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- const assert_1 = __importDefault(require("assert"));
14
- const pathUtils_1 = require("../common/pathUtils");
15
- const insertionPointUtils_1 = require("../languageService/insertionPointUtils");
16
- const testState_1 = require("./harness/fourslash/testState");
17
- test('empty file', () => {
18
- const code = `
19
- //// [|/*marker*/|]
20
- `;
21
- testInsertionPoint(code, 'bar');
22
- });
23
- test('empty file with blank lines', () => {
24
- const code = `
25
- //// [|/*marker*/|]
26
- ////
27
- ////
28
- `;
29
- testInsertionPoint(code, 'bar');
30
- });
31
- test('empty file with comments', () => {
32
- const code = `
33
- //// # comment
34
- //// [|/*marker*/|]
35
- ////
36
- `;
37
- testInsertionPoint(code, 'bar');
38
- });
39
- test('insert symbol to module', () => {
40
- const code = `
41
- //// def foo(): pass[|/*marker*/|]
42
- `;
43
- testInsertionPoint(code, 'bar');
44
- });
45
- test('insert symbol to module before private symbol', () => {
46
- const code = `
47
- //// def foo(): pass[|/*marker*/|]
48
- //// def __private(): pass
49
- `;
50
- testInsertionPoint(code, 'bar');
51
- });
52
- test('insert private symbol to module', () => {
53
- const code = `
54
- //// def foo(): pass
55
- //// def __private(): pass[|/*marker*/|]
56
- `;
57
- testInsertionPoint(code, '__another');
58
- });
59
- test('no insertion on existing symbol', () => {
60
- const code = `
61
- //// [|/*marker*/|]def foo(): pass
62
- //// def __private(): pass
63
- `;
64
- testNoInsertionPoint(code, 'foo');
65
- });
66
- test('no insertion symbol with imported symbol with same name', () => {
67
- const code = `
68
- //// from os import path[|/*marker*/|]
69
- //// def __private(): pass
70
- `;
71
- testNoInsertionPoint(code, 'path');
72
- });
73
- test('insert symbol with imported symbol with same name', () => {
74
- const code = `
75
- //// from os import path[|/*marker*/|]
76
- //// def __private(): pass
77
- `;
78
- testInsertionPoint(code, 'path', {
79
- symbolDeclToIgnore: (0, pathUtils_1.normalizeSlashes)('\\typeshed-fallback\\stdlib\\os\\__init__.pyi'),
80
- });
81
- });
82
- test('insert symbol with before marker at the top', () => {
83
- const code = `
84
- //// [|/*marker*/|]
85
- //// [|/*before*/|]
86
- `;
87
- testInsertionPoint(code, 'path', {
88
- insertBeforeMarker: 'before',
89
- });
90
- });
91
- test('insert symbol with before marker at the top before symbols', () => {
92
- const code = `
93
- //// [|/*marker*/|]def [|/*before*/|]foo():
94
- //// pass
95
- `;
96
- testInsertionPoint(code, 'path', {
97
- insertBeforeMarker: 'before',
98
- });
99
- });
100
- test('insert symbol with before marker at the top before symbols 2', () => {
101
- const code = `
102
- //// [|/*marker*/|]def foo(a: [|/*before*/|]MyType):
103
- //// pass
104
- `;
105
- testInsertionPoint(code, 'path', {
106
- insertBeforeMarker: 'before',
107
- });
108
- });
109
- test('insert symbol before insert marker with other statements', () => {
110
- const code = `
111
- //// import os[|/*marker*/|]
112
- ////
113
- //// def [|/*before*/|]foo():
114
- //// pass
115
- `;
116
- testInsertionPoint(code, 'path', {
117
- insertBeforeMarker: 'before',
118
- });
119
- });
120
- test('insert symbol after comments', () => {
121
- const code = `
122
- //// a = 1 # comment [|/*marker*/|]
123
- ////
124
- `;
125
- testInsertionPoint(code, 'b');
126
- });
127
- test('insert symbol after comments at EOF', () => {
128
- const code = `
129
- //// a = 1 # comment [|/*marker*/|]
130
- `;
131
- testInsertionPoint(code, 'b');
132
- });
133
- function testInsertionPoint(code, symbolName, testOptions) {
134
- const state = (0, testState_1.parseAndGetTestState)(code).state;
135
- const marker = state.getMarkerByName('marker');
136
- const insertBefore = (testOptions === null || testOptions === void 0 ? void 0 : testOptions.insertBeforeMarker)
137
- ? state.getMarkerByName(testOptions.insertBeforeMarker).position
138
- : undefined;
139
- const options = {
140
- symbolDeclToIgnore: testOptions === null || testOptions === void 0 ? void 0 : testOptions.symbolDeclToIgnore,
141
- insertBefore,
142
- };
143
- const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
144
- const actual = (0, insertionPointUtils_1.getInsertionPointForSymbolUnderModule)(state.program.evaluator, parseResults, symbolName, options);
145
- assert_1.default.strictEqual(actual, marker.position);
146
- }
147
- function testNoInsertionPoint(code, symbolName) {
148
- const state = (0, testState_1.parseAndGetTestState)(code).state;
149
- const marker = state.getMarkerByName('marker');
150
- const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
151
- const actual = (0, insertionPointUtils_1.getInsertionPointForSymbolUnderModule)(state.program.evaluator, parseResults, symbolName);
152
- (0, assert_1.default)(!actual);
153
- }
154
- //# sourceMappingURL=insertionPointUtils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insertionPointUtils.test.js","sourceRoot":"","sources":["../../../src/tests/insertionPointUtils.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};