diff options
Diffstat (limited to 'cli/tests/integration/lsp_tests.rs')
-rw-r--r-- | cli/tests/integration/lsp_tests.rs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/cli/tests/integration/lsp_tests.rs b/cli/tests/integration/lsp_tests.rs index 11cb09994..433088fe9 100644 --- a/cli/tests/integration/lsp_tests.rs +++ b/cli/tests/integration/lsp_tests.rs @@ -7735,6 +7735,57 @@ fn lsp_diagnostics_refresh_dependents() { } #[test] +fn lsp_npm_missing_type_imports_diagnostics() { + let context = TestContextBuilder::new() + .use_http_server() + .use_temp_cwd() + .build(); + let mut client = context.new_lsp_command().build(); + client.initialize_default(); + client.did_open(json!({ + "textDocument": { + "uri": "file:///a/file.ts", + "languageId": "typescript", + "version": 1, + "text": r#" + import colorName, { type RGB } from 'npm:color-name'; + const color: RGB = colorName.black; + console.log(color); + "#, + }, + })); + client.write_request( + "workspace/executeCommand", + json!({ + "command": "deno.cache", + "arguments": [[], "file:///a/file.ts"], + }), + ); + let diagnostics = client.read_diagnostics(); + assert_eq!( + json!( + diagnostics.messages_with_file_and_source("file:///a/file.ts", "deno-ts") + ), + json!({ + "uri": "file:///a/file.ts", + "diagnostics": [ + { + "range": { + "start": { "line": 1, "character": 33 }, + "end": { "line": 1, "character": 36 }, + }, + "severity": 1, + "code": 2305, + "source": "deno-ts", + "message": "Module '\"npm:color-name\"' has no exported member 'RGB'.", + }, + ], + "version": 1, + }) + ); +} + +#[test] fn lsp_jupyter_diagnostics() { let context = TestContextBuilder::new().use_temp_cwd().build(); let mut client = context.new_lsp_command().build(); |