diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2022-03-29 11:27:43 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-29 11:27:43 +1100 |
commit | 5a6a1eeb3918985ab003fd8d87faebb76410a242 (patch) | |
tree | 9602da13a8b81d0742eecb71063b4fab9e5eb099 /cli/tests | |
parent | 89dd5dac6219f9a4c04ada4b5a9c812a88c1c2d4 (diff) |
feat(lsp): support API for config file (#14139)
Closes: #13910
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/integration/lsp_tests.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/cli/tests/integration/lsp_tests.rs b/cli/tests/integration/lsp_tests.rs index b8f33ddcc..63695634a 100644 --- a/cli/tests/integration/lsp_tests.rs +++ b/cli/tests/integration/lsp_tests.rs @@ -580,6 +580,51 @@ fn lsp_import_map_config_file() { } #[test] +fn lsp_deno_task() { + let temp_dir = TempDir::new().unwrap(); + let workspace_root = temp_dir.path().canonicalize().unwrap(); + let mut params: lsp::InitializeParams = + serde_json::from_value(load_fixture("initialize_params.json")).unwrap(); + fs::write( + workspace_root.join("deno.jsonc"), + r#"{ + "tasks": { + "build": "deno test", + "some:test": "deno bundle mod.ts" + } + }"#, + ) + .unwrap(); + + params.root_uri = Some(Url::from_file_path(workspace_root).unwrap()); + + let deno_exe = deno_exe_path(); + let mut client = LspClient::new(&deno_exe).unwrap(); + client + .write_request::<_, _, Value>("initialize", params) + .unwrap(); + + let (maybe_res, maybe_err) = client + .write_request::<_, _, Value>("deno/task", json!({})) + .unwrap(); + + assert!(maybe_err.is_none()); + assert_eq!( + maybe_res, + Some(json!([ + { + "name": "build", + "detail": "deno test" + }, + { + "name": "some:test", + "detail": "deno bundle mod.ts" + } + ])) + ); +} + +#[test] fn lsp_import_assertions() { let mut client = init("initialize_params_import_map.json"); client |