summaryrefslogtreecommitdiff
path: root/tests/util/server/src
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2024-04-05 16:18:48 +0100
committerGitHub <noreply@github.com>2024-04-05 16:18:48 +0100
commit61f1b8e8dc20846093a8b24a8f511a09bbf09919 (patch)
tree15556a7212f9603616f046533385e6e130680ec3 /tests/util/server/src
parent049e703331409db8c4b4e2cc7d969f471c229df3 (diff)
fix(lsp): respect DENO_FUTURE for BYONM config (#23207)
Diffstat (limited to 'tests/util/server/src')
-rw-r--r--tests/util/server/src/builders.rs8
-rw-r--r--tests/util/server/src/lsp.rs19
2 files changed, 25 insertions, 2 deletions
diff --git a/tests/util/server/src/builders.rs b/tests/util/server/src/builders.rs
index 8c93ceeb0..9490c4c44 100644
--- a/tests/util/server/src/builders.rs
+++ b/tests/util/server/src/builders.rs
@@ -292,9 +292,13 @@ impl TestContext {
}
pub fn new_lsp_command(&self) -> LspClientBuilder {
- LspClientBuilder::new_with_dir(self.deno_dir.clone())
+ let mut builder = LspClientBuilder::new_with_dir(self.deno_dir.clone())
.deno_exe(&self.deno_exe)
- .set_root_dir(self.temp_dir.path().clone())
+ .set_root_dir(self.temp_dir.path().clone());
+ for (key, value) in &self.envs {
+ builder = builder.env(key, value);
+ }
+ builder
}
pub fn run_npm(&self, args: impl AsRef<str>) {
diff --git a/tests/util/server/src/lsp.rs b/tests/util/server/src/lsp.rs
index cc6808390..be455b463 100644
--- a/tests/util/server/src/lsp.rs
+++ b/tests/util/server/src/lsp.rs
@@ -33,7 +33,10 @@ use serde::Serialize;
use serde_json::json;
use serde_json::to_value;
use serde_json::Value;
+use std::collections::HashMap;
use std::collections::HashSet;
+use std::ffi::OsStr;
+use std::ffi::OsString;
use std::io;
use std::io::BufRead;
use std::io::BufReader;
@@ -465,6 +468,7 @@ pub struct LspClientBuilder {
root_dir: PathRef,
use_diagnostic_sync: bool,
deno_dir: TempDir,
+ envs: HashMap<OsString, OsString>,
}
impl LspClientBuilder {
@@ -481,6 +485,7 @@ impl LspClientBuilder {
root_dir: deno_dir.path().clone(),
use_diagnostic_sync: true,
deno_dir,
+ envs: Default::default(),
}
}
@@ -514,6 +519,17 @@ impl LspClientBuilder {
self
}
+ pub fn env(
+ mut self,
+ key: impl AsRef<OsStr>,
+ value: impl AsRef<OsStr>,
+ ) -> Self {
+ self
+ .envs
+ .insert(key.as_ref().to_owned(), value.as_ref().to_owned());
+ self
+ }
+
pub fn build(&self) -> LspClient {
self.build_result().unwrap()
}
@@ -534,6 +550,9 @@ impl LspClientBuilder {
.arg("lsp")
.stdin(Stdio::piped())
.stdout(Stdio::piped());
+ for (key, value) in &self.envs {
+ command.env(key, value);
+ }
if self.capture_stderr {
command.stderr(Stdio::piped());
} else if !self.print_stderr {