@zzzen/pyright-internal 1.2.0-dev.20260222 → 1.2.0-dev.20260422
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 +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +9 -6
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.d.ts +10 -1
- package/dist/analyzer/binder.js +258 -41
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cellChainIndex.d.ts +34 -0
- package/dist/analyzer/cellChainIndex.js +126 -0
- package/dist/analyzer/cellChainIndex.js.map +1 -0
- package/dist/analyzer/checker.js +0 -1
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +16 -1
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constructors.js +9 -2
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +3 -21
- package/dist/analyzer/importResolver.js +42 -316
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResolverFileSystem.d.ts +3 -0
- package/dist/analyzer/importResolverFileSystem.js +160 -0
- package/dist/analyzer/importResolverFileSystem.js.map +1 -0
- package/dist/analyzer/importResolverTypes.d.ts +24 -0
- package/dist/analyzer/importResolverTypes.js +8 -0
- package/dist/analyzer/importResolverTypes.js.map +1 -0
- package/dist/analyzer/importStatementUtils.js +9 -0
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -0
- package/dist/analyzer/parseTreeUtils.js +24 -7
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +14 -2
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +5 -3
- package/dist/analyzer/program.js +40 -51
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +1 -1
- package/dist/analyzer/pythonPathUtils.js +3 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/scope.d.ts +10 -1
- package/dist/analyzer/scope.js +14 -1
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/service.d.ts +11 -6
- package/dist/analyzer/service.js +82 -83
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceEnumerator.d.ts +3 -0
- package/dist/analyzer/sourceEnumerator.js +27 -1
- package/dist/analyzer/sourceEnumerator.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +2 -1
- package/dist/analyzer/sourceFile.js +2 -2
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfo.d.ts +4 -0
- package/dist/analyzer/sourceFileInfo.js +9 -0
- package/dist/analyzer/sourceFileInfo.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -0
- package/dist/analyzer/sourceMapper.js +44 -0
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/tuples.js +3 -1
- package/dist/analyzer/tuples.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +102 -51
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
- package/dist/analyzer/typeEvaluatorTypes.js +4 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +28 -6
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +15 -50
- package/dist/analyzer/typeStubWriter.js +91 -9
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +27 -3
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeshedInfoProvider.d.ts +2 -0
- package/dist/analyzer/typeshedInfoProvider.js +232 -0
- package/dist/analyzer/typeshedInfoProvider.js.map +1 -0
- package/dist/backgroundAnalysisBase.d.ts +3 -3
- package/dist/backgroundAnalysisBase.js +12 -9
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/createTypeStub.d.ts +16 -8
- package/dist/commands/createTypeStub.js +58 -36
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/common/cancellationUtils.d.ts +7 -0
- package/dist/common/cancellationUtils.js +34 -0
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/collectionUtils.d.ts +3 -3
- package/dist/common/collectionUtils.js.map +1 -1
- package/dist/common/core.d.ts +1 -1
- package/dist/common/core.js.map +1 -1
- package/dist/common/crypto.js +11 -0
- package/dist/common/crypto.js.map +1 -1
- package/dist/common/extensibility.d.ts +7 -0
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fullAccessHost.js +4 -2
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/pathUtils.d.ts +4 -1
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.js +42 -3
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +3 -0
- package/dist/common/serviceKeys.js +2 -0
- package/dist/common/serviceKeys.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +4 -0
- package/dist/common/uri/uriUtils.js +19 -3
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/workspaceEditUtils.js +0 -2
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +1 -0
- package/dist/languageServerBase.js +6 -0
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +6 -0
- package/dist/languageService/completionProvider.js +252 -75
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +1 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +34 -4
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/dynamicFeature.d.ts +3 -0
- package/dist/languageService/dynamicFeature.js +5 -0
- package/dist/languageService/dynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +2 -1
- package/dist/languageService/hoverProvider.js +13 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/pullDiagnosticsDynamicFeature.d.ts +1 -0
- package/dist/languageService/pullDiagnosticsDynamicFeature.js +4 -0
- package/dist/languageService/pullDiagnosticsDynamicFeature.js.map +1 -1
- package/dist/languageService/referencesProvider.js +5 -4
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +1 -0
- package/dist/languageService/signatureHelpProvider.js +76 -2
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +1 -0
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.d.ts +11 -4
- package/dist/languageService/tooltipUtils.js +195 -7
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/parser/tokenizer.js +6 -2
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/partialStubService.d.ts +11 -0
- package/dist/partialStubService.js +23 -1
- package/dist/partialStubService.js.map +1 -1
- package/dist/pyright.js +13 -2
- package/dist/pyright.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +138 -0
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +12 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +328 -0
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +54 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +44 -0
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashRunner.test.js +1 -1
- package/dist/tests/fourSlashRunner.test.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js +25 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.multipart3.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/import.multipart3.fourslash.js +46 -0
- package/dist/tests/fourslash/import.multipart3.fourslash.js.map +1 -0
- package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.js +33 -0
- package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/runner.d.ts +4 -4
- package/dist/tests/harness/fourslash/runner.js +5 -5
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +20 -5
- package/dist/tests/harness/fourslash/testState.js +11 -26
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +2 -0
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -1
- package/dist/tests/harness/testAccessHost.js +6 -2
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +20 -18
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.js +4 -1
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +8 -1
- package/dist/tests/harness/vfs/filesystem.js +84 -30
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/hoverProvider.test.js +290 -0
- package/dist/tests/hoverProvider.test.js.map +1 -1
- package/dist/tests/importResolverSupport.test.d.ts +1 -0
- package/dist/tests/importResolverSupport.test.js +319 -0
- package/dist/tests/importResolverSupport.test.js.map +1 -0
- package/dist/tests/importStatementUtils.test.js +66 -0
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/lsp/{webpack.testserver.config.d.ts → rspack.testserver.config.d.ts} +1 -1
- package/dist/tests/lsp/{webpack.testserver.config.js → rspack.testserver.config.js} +4 -11
- package/dist/tests/lsp/rspack.testserver.config.js.map +1 -0
- package/dist/tests/realTempFile.test.d.ts +1 -0
- package/dist/tests/realTempFile.test.js +144 -0
- package/dist/tests/realTempFile.test.js.map +1 -0
- package/dist/tests/service.test.js +182 -3
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +391 -6
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/testState.test.js +19 -0
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +42 -0
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +8 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +7 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +13 -1
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/uri.test.js +29 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/wildcardImportPackageMerge.test.d.ts +1 -0
- package/dist/tests/wildcardImportPackageMerge.test.js +97 -0
- package/dist/tests/wildcardImportPackageMerge.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +0 -1
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/package.json +12 -11
- package/dist/tests/lsp/webpack.testserver.config.js.map +0 -1
|
@@ -4,7 +4,13 @@
|
|
|
4
4
|
*
|
|
5
5
|
* hoverProvider tests.
|
|
6
6
|
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
7
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
const assert_1 = __importDefault(require("assert"));
|
|
12
|
+
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
13
|
+
const hoverProvider_1 = require("../languageService/hoverProvider");
|
|
8
14
|
const testState_1 = require("./harness/fourslash/testState");
|
|
9
15
|
test('import tooltip - import statement', async () => {
|
|
10
16
|
const code = `
|
|
@@ -93,6 +99,207 @@ test('import tooltip - import statement with stubs', async () => {
|
|
|
93
99
|
marker2: '```python\n(module) pyplot\n```\n---\npyplot',
|
|
94
100
|
});
|
|
95
101
|
});
|
|
102
|
+
test('method tooltip - docstring from implementation when stub uses non-exported name', async () => {
|
|
103
|
+
const code = `
|
|
104
|
+
// @filename: pyrightconfig.json
|
|
105
|
+
//// {
|
|
106
|
+
//// "useLibraryCodeForTypes": true
|
|
107
|
+
//// }
|
|
108
|
+
|
|
109
|
+
// @filename: test.py
|
|
110
|
+
//// from mylib import foo
|
|
111
|
+
//// foo.[|/*marker*/func|]()
|
|
112
|
+
|
|
113
|
+
// @filename: mylib/__init__.py
|
|
114
|
+
// @library: true
|
|
115
|
+
//// from ._private import Foo as _Foo
|
|
116
|
+
//// foo = _Foo()
|
|
117
|
+
|
|
118
|
+
// @filename: mylib/_private.py
|
|
119
|
+
// @library: true
|
|
120
|
+
//// class Foo:
|
|
121
|
+
//// """Some class documentation."""
|
|
122
|
+
////
|
|
123
|
+
//// def func(self) -> int:
|
|
124
|
+
//// """Some function documentation."""
|
|
125
|
+
//// return 1
|
|
126
|
+
|
|
127
|
+
// @filename: mylib/__init__.pyi
|
|
128
|
+
// @library: true
|
|
129
|
+
//// class Foo:
|
|
130
|
+
//// def func(self) -> int: ...
|
|
131
|
+
////
|
|
132
|
+
//// foo: Foo
|
|
133
|
+
`;
|
|
134
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
135
|
+
const marker = state.getMarkerByName('marker');
|
|
136
|
+
state.openFile(marker.fileName);
|
|
137
|
+
state.verifyHover('markdown', {
|
|
138
|
+
marker: '```python\n(method) def func() -> int\n```\n---\nSome function documentation.',
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
test('function hover shows source default values for stub ellipsis defaults', async () => {
|
|
142
|
+
const code = `
|
|
143
|
+
// @filename: pyrightconfig.json
|
|
144
|
+
//// {
|
|
145
|
+
//// "useLibraryCodeForTypes": true
|
|
146
|
+
//// }
|
|
147
|
+
|
|
148
|
+
// @filename: test.py
|
|
149
|
+
//// import mylib
|
|
150
|
+
////
|
|
151
|
+
//// mylib.[|/*marker*/f|](1)
|
|
152
|
+
|
|
153
|
+
// @filename: mylib.pyi
|
|
154
|
+
//// def f(a: int, b: str = ...) -> None: ...
|
|
155
|
+
|
|
156
|
+
// @filename: mylib.py
|
|
157
|
+
//// def f(a: int, b: int = 3) -> None:
|
|
158
|
+
//// ...
|
|
159
|
+
`;
|
|
160
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
161
|
+
const marker = state.getMarkerByName('marker');
|
|
162
|
+
state.openFile(marker.fileName);
|
|
163
|
+
state.verifyHover('markdown', {
|
|
164
|
+
marker: '```python\n(function) def f(a: int, b: str = 3) -> None\n```',
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
test('function hover substitutes multiple stub ellipsis defaults from source', async () => {
|
|
168
|
+
const code = `
|
|
169
|
+
// @filename: pyrightconfig.json
|
|
170
|
+
//// {
|
|
171
|
+
//// "useLibraryCodeForTypes": true
|
|
172
|
+
//// }
|
|
173
|
+
|
|
174
|
+
// @filename: test.py
|
|
175
|
+
//// import mylib
|
|
176
|
+
////
|
|
177
|
+
//// mylib.[|/*marker*/f|]()
|
|
178
|
+
|
|
179
|
+
// @filename: mylib.pyi
|
|
180
|
+
//// def f(a: int = ..., b: str = ...) -> None: ...
|
|
181
|
+
|
|
182
|
+
// @filename: mylib.py
|
|
183
|
+
//// def f(a: int = 3, b: str = "hello") -> None:
|
|
184
|
+
//// ...
|
|
185
|
+
`;
|
|
186
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
187
|
+
const marker = state.getMarkerByName('marker');
|
|
188
|
+
state.openFile(marker.fileName);
|
|
189
|
+
state.verifyHover('markdown', {
|
|
190
|
+
marker: '```python\n(function) def f(a: int = 3, b: str = "hello") -> None\n```',
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
test('function hover shows concrete default values when provided by stub', async () => {
|
|
194
|
+
const code = `
|
|
195
|
+
// @filename: pyrightconfig.json
|
|
196
|
+
//// {
|
|
197
|
+
//// "useLibraryCodeForTypes": true
|
|
198
|
+
//// }
|
|
199
|
+
|
|
200
|
+
// @filename: test.py
|
|
201
|
+
//// import mylib
|
|
202
|
+
////
|
|
203
|
+
//// mylib.[|/*marker*/f|]()
|
|
204
|
+
|
|
205
|
+
// @filename: mylib.pyi
|
|
206
|
+
//// def f(a: int = 3, b: str = "hello") -> None: ...
|
|
207
|
+
`;
|
|
208
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
209
|
+
const marker = state.getMarkerByName('marker');
|
|
210
|
+
state.openFile(marker.fileName);
|
|
211
|
+
state.verifyHover('markdown', {
|
|
212
|
+
marker: '```python\n(function) def f(a: int = 3, b: str = "hello") -> None\n```',
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
test('function hover substitutes multiple stub ellipsis defaults for selected overload', async () => {
|
|
216
|
+
const code = `
|
|
217
|
+
// @filename: pyrightconfig.json
|
|
218
|
+
//// {
|
|
219
|
+
//// "useLibraryCodeForTypes": true
|
|
220
|
+
//// }
|
|
221
|
+
|
|
222
|
+
// @filename: test.py
|
|
223
|
+
//// import mylib
|
|
224
|
+
////
|
|
225
|
+
//// mylib.[|/*marker*/f|](1)
|
|
226
|
+
|
|
227
|
+
// @filename: mylib.pyi
|
|
228
|
+
//// from typing import overload
|
|
229
|
+
////
|
|
230
|
+
//// @overload
|
|
231
|
+
//// def f(a: int = ..., b: str = ...) -> None: ...
|
|
232
|
+
////
|
|
233
|
+
//// @overload
|
|
234
|
+
//// def f(a: str = ..., b: str = ...) -> None: ...
|
|
235
|
+
////
|
|
236
|
+
//// def f(*args, **kwargs) -> None: ...
|
|
237
|
+
|
|
238
|
+
// @filename: mylib.py
|
|
239
|
+
//// def f(a: int = 3, b: str = "hello") -> None:
|
|
240
|
+
//// ...
|
|
241
|
+
`;
|
|
242
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
243
|
+
const marker = state.getMarkerByName('marker');
|
|
244
|
+
state.openFile(marker.fileName);
|
|
245
|
+
state.verifyHover('markdown', {
|
|
246
|
+
marker: '```python\n(function) def f(a: int = 3, b: str = "hello") -> None\n```',
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
test('function hover does not substitute unsafe long defaults for stub ellipsis defaults', async () => {
|
|
250
|
+
const longNumber = '9'.repeat(150);
|
|
251
|
+
const code = `
|
|
252
|
+
// @filename: pyrightconfig.json
|
|
253
|
+
//// {
|
|
254
|
+
//// "useLibraryCodeForTypes": true
|
|
255
|
+
//// }
|
|
256
|
+
|
|
257
|
+
// @filename: test.py
|
|
258
|
+
//// import mylib
|
|
259
|
+
////
|
|
260
|
+
//// mylib.[|/*marker*/f|](1)
|
|
261
|
+
|
|
262
|
+
// @filename: mylib.pyi
|
|
263
|
+
//// def f(a: int, b: str = ...) -> None: ...
|
|
264
|
+
|
|
265
|
+
// @filename: mylib.py
|
|
266
|
+
//// def f(a: int, b: int = ${longNumber}) -> None:
|
|
267
|
+
//// ...
|
|
268
|
+
`;
|
|
269
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
270
|
+
const marker = state.getMarkerByName('marker');
|
|
271
|
+
state.openFile(marker.fileName);
|
|
272
|
+
state.verifyHover('markdown', {
|
|
273
|
+
marker: '```python\n(function) def f(a: int, b: str = ...) -> None\n```',
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
test('function hover does not substitute unsafe multiline defaults for stub ellipsis defaults', async () => {
|
|
277
|
+
const code = `
|
|
278
|
+
// @filename: pyrightconfig.json
|
|
279
|
+
//// {
|
|
280
|
+
//// "useLibraryCodeForTypes": true
|
|
281
|
+
//// }
|
|
282
|
+
|
|
283
|
+
// @filename: test.py
|
|
284
|
+
//// import mylib
|
|
285
|
+
////
|
|
286
|
+
//// mylib.[|/*marker*/f|](1)
|
|
287
|
+
|
|
288
|
+
// @filename: mylib.pyi
|
|
289
|
+
//// def f(a: int, b: str = ...) -> None: ...
|
|
290
|
+
|
|
291
|
+
// @filename: mylib.py
|
|
292
|
+
//// def f(a: int, b: int = """hello
|
|
293
|
+
//// world""") -> None:
|
|
294
|
+
//// ...
|
|
295
|
+
`;
|
|
296
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
297
|
+
const marker = state.getMarkerByName('marker');
|
|
298
|
+
state.openFile(marker.fileName);
|
|
299
|
+
state.verifyHover('markdown', {
|
|
300
|
+
marker: '```python\n(function) def f(a: int, b: str = ...) -> None\n```',
|
|
301
|
+
});
|
|
302
|
+
});
|
|
96
303
|
test('import tooltip - import reference - stub files', async () => {
|
|
97
304
|
const code = `
|
|
98
305
|
// @filename: pyrightconfig.json
|
|
@@ -395,4 +602,87 @@ test('hover on __call__ method', async () => {
|
|
|
395
602
|
marker2: '```python\n(variable) def foo(a: int) -> int\n```',
|
|
396
603
|
});
|
|
397
604
|
});
|
|
605
|
+
test('hover return type remains stable after trivial edit for callable-returning function', () => {
|
|
606
|
+
const code = `
|
|
607
|
+
// @filename: test.py
|
|
608
|
+
//// from collections.abc import Callable
|
|
609
|
+
////
|
|
610
|
+
//// def [|/*markerA*/a|][**P, R](f: Callable[P, R]):
|
|
611
|
+
//// def [|/*markerB*/b|](*args: P.args, **kwargs: P.kwargs):
|
|
612
|
+
//// return str(f(*args, **kwargs))
|
|
613
|
+
//// return b
|
|
614
|
+
////
|
|
615
|
+
//// a
|
|
616
|
+
`;
|
|
617
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
618
|
+
const markerA = state.getMarkerByName('markerA');
|
|
619
|
+
state.openFile(markerA.fileName);
|
|
620
|
+
// Baseline call with file fully checked.
|
|
621
|
+
state.program.analyzeFile(markerA.fileUri, vscode_languageserver_1.CancellationToken.None);
|
|
622
|
+
const baselineA = getHoverText(state, 'markerA');
|
|
623
|
+
const baselineB = getHoverText(state, 'markerB');
|
|
624
|
+
assert_1.default.strictEqual(getHoverSignatureLine(baselineA), '(function) def a(f: (**P@a) -> R@a) -> ((**P@a) -> str)', `unexpected baseline hover signature for a: ${baselineA}`);
|
|
625
|
+
assert_1.default.strictEqual(getHoverSignatureLine(baselineB), '(function) def b(**P@a) -> str', `unexpected baseline hover signature for b: ${baselineB}`);
|
|
626
|
+
// Trivial edit: insert trailing whitespace after `return b`.
|
|
627
|
+
const file = state.testData.files.find((f) => f.fileUri.key === markerA.fileUri.key);
|
|
628
|
+
assert_1.default.ok(file, 'expected to find test file in state');
|
|
629
|
+
const fileText = file.content;
|
|
630
|
+
const target = 'return b\n';
|
|
631
|
+
const offset = fileText.indexOf(target);
|
|
632
|
+
assert_1.default.ok(offset >= 0, 'expected to find "return b" in test file');
|
|
633
|
+
state.openFile(file.fileName);
|
|
634
|
+
state.replace(offset + 'return b'.length, 0, ' ');
|
|
635
|
+
// Regression: do not force analysis here. Hover should remain stable.
|
|
636
|
+
const editedA = getHoverText(state, 'markerA');
|
|
637
|
+
const editedB = getHoverText(state, 'markerB');
|
|
638
|
+
assert_1.default.strictEqual(editedA, baselineA, `expected hover for a to remain stable after edit: baseline=${baselineA}, edited=${editedA}`);
|
|
639
|
+
assert_1.default.strictEqual(editedB, baselineB, `expected hover for b to remain stable after edit`);
|
|
640
|
+
});
|
|
641
|
+
test('hover on self-returning nested function does not recurse infinitely', () => {
|
|
642
|
+
const code = `
|
|
643
|
+
// @filename: test.py
|
|
644
|
+
//// def [|/*marker*/outer|]():
|
|
645
|
+
//// def inner():
|
|
646
|
+
//// return inner
|
|
647
|
+
//// return inner
|
|
648
|
+
////
|
|
649
|
+
//// outer
|
|
650
|
+
`;
|
|
651
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
652
|
+
const marker = state.getMarkerByName('marker');
|
|
653
|
+
state.openFile(marker.fileName);
|
|
654
|
+
const hover = getHoverText(state, 'marker');
|
|
655
|
+
assert_1.default.strictEqual(hover, '```python\n(function) def outer() -> (() -> ...)\n```');
|
|
656
|
+
});
|
|
657
|
+
test('hover on mutually-recursive nested functions does not recurse infinitely', () => {
|
|
658
|
+
const code = `
|
|
659
|
+
// @filename: test.py
|
|
660
|
+
//// def [|/*marker*/outer|]():
|
|
661
|
+
//// def left():
|
|
662
|
+
//// return right
|
|
663
|
+
//// def right():
|
|
664
|
+
//// return left
|
|
665
|
+
//// return left
|
|
666
|
+
////
|
|
667
|
+
//// outer
|
|
668
|
+
`;
|
|
669
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
|
670
|
+
const marker = state.getMarkerByName('marker');
|
|
671
|
+
state.openFile(marker.fileName);
|
|
672
|
+
const hover = getHoverText(state, 'marker');
|
|
673
|
+
assert_1.default.strictEqual(hover, '```python\n(function) def outer() -> (() -> (() -> ...))\n```');
|
|
674
|
+
});
|
|
675
|
+
function getHoverText(state, markerName) {
|
|
676
|
+
const marker = state.getMarkerByName(markerName);
|
|
677
|
+
const position = state.convertOffsetToPosition(marker.fileName, marker.position);
|
|
678
|
+
const hover = new hoverProvider_1.HoverProvider(state.program, marker.fileUri, position, 'markdown', vscode_languageserver_1.CancellationToken.None).getHover();
|
|
679
|
+
assert_1.default.ok(hover, `expected hover result for marker ${markerName}`);
|
|
680
|
+
assert_1.default.ok(vscode_languageserver_1.MarkupContent.is(hover.contents), `expected MarkupContent for marker ${markerName}`);
|
|
681
|
+
return hover.contents.value;
|
|
682
|
+
}
|
|
683
|
+
function getHoverSignatureLine(hover) {
|
|
684
|
+
const lines = hover.split('\n');
|
|
685
|
+
assert_1.default.ok(lines.length >= 2, `unexpected hover format: ${hover}`);
|
|
686
|
+
return lines[1];
|
|
687
|
+
}
|
|
398
688
|
//# sourceMappingURL=hoverProvider.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoverProvider.test.js","sourceRoot":"","sources":["../../../../../src/tests/hoverProvider.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hoverProvider.test.js","sourceRoot":"","sources":["../../../../../src/tests/hoverProvider.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|