summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2021-05-20 19:56:48 +1000
committerBert Belder <bertbelder@gmail.com>2021-05-31 16:37:32 +0200
commit176075980bfdc8b07f70db3229bd2df9b6ace018 (patch)
tree192bd9d478a75ef9b84eea1fbb3692d0c8ae29a8 /cli/tests
parent67cf683aad7d6fb7b0dc741267585c991b8be847 (diff)
fix(lsp): re-enable the per resource configuration without a deadlock (#10625)
Fixes #10603
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration_tests_lsp.rs26
-rw-r--r--cli/tests/lsp/initialize_params.json4
-rw-r--r--cli/tests/lsp/initialize_params_disabled.json4
-rw-r--r--cli/tests/lsp/initialize_params_registry.json4
-rw-r--r--cli/tests/lsp/initialize_params_unstable.json4
5 files changed, 42 insertions, 0 deletions
diff --git a/cli/tests/integration_tests_lsp.rs b/cli/tests/integration_tests_lsp.rs
index 15abfe678..a6d4f2d29 100644
--- a/cli/tests/integration_tests_lsp.rs
+++ b/cli/tests/integration_tests_lsp.rs
@@ -38,6 +38,13 @@ where
client
.write_notification("textDocument/didOpen", params)
.unwrap();
+
+ let (id, method, _) = client.read_request::<Value>().unwrap();
+ assert_eq!(method, "workspace/configuration");
+ client
+ .write_response(id, json!({ "enable": true }))
+ .unwrap();
+
let (method, _) = client.read_notification::<Value>().unwrap();
assert_eq!(method, "textDocument/publishDiagnostics");
let (method, _) = client.read_notification::<Value>().unwrap();
@@ -209,6 +216,13 @@ fn lsp_hover_disabled() {
}),
)
.unwrap();
+
+ let (id, method, _) = client.read_request::<Value>().unwrap();
+ assert_eq!(method, "workspace/configuration");
+ client
+ .write_response(id, json!({ "enable": false }))
+ .unwrap();
+
let (maybe_res, maybe_err) = client
.write_request(
"textDocument/hover",
@@ -453,6 +467,12 @@ fn lsp_hover_closed_document() {
}),
)
.unwrap();
+ let (id, method, _) = client.read_request::<Value>().unwrap();
+ assert_eq!(method, "workspace/configuration");
+ client
+ .write_response(id, json!({ "enable": true }))
+ .unwrap();
+
client
.write_notification(
"textDocument/didOpen",
@@ -466,6 +486,12 @@ fn lsp_hover_closed_document() {
}),
)
.unwrap();
+ let (id, method, _) = client.read_request::<Value>().unwrap();
+ assert_eq!(method, "workspace/configuration");
+ client
+ .write_response(id, json!({ "enable": true }))
+ .unwrap();
+
let (method, _) = client.read_notification::<Value>().unwrap();
assert_eq!(method, "textDocument/publishDiagnostics");
let (method, _) = client.read_notification::<Value>().unwrap();
diff --git a/cli/tests/lsp/initialize_params.json b/cli/tests/lsp/initialize_params.json
index b00e5720d..98ec53aa6 100644
--- a/cli/tests/lsp/initialize_params.json
+++ b/cli/tests/lsp/initialize_params.json
@@ -51,6 +51,10 @@
"willSaveWaitUntil": true,
"didSave": true
}
+ },
+ "workspace": {
+ "configuration": true,
+ "workspaceFolders": true
}
}
}
diff --git a/cli/tests/lsp/initialize_params_disabled.json b/cli/tests/lsp/initialize_params_disabled.json
index ea12dfac5..d5e59770a 100644
--- a/cli/tests/lsp/initialize_params_disabled.json
+++ b/cli/tests/lsp/initialize_params_disabled.json
@@ -51,6 +51,10 @@
"willSaveWaitUntil": true,
"didSave": true
}
+ },
+ "workspace": {
+ "configuration": true,
+ "workspaceFolders": true
}
}
}
diff --git a/cli/tests/lsp/initialize_params_registry.json b/cli/tests/lsp/initialize_params_registry.json
index 38777b3d4..0a19c50ec 100644
--- a/cli/tests/lsp/initialize_params_registry.json
+++ b/cli/tests/lsp/initialize_params_registry.json
@@ -53,6 +53,10 @@
"willSaveWaitUntil": true,
"didSave": true
}
+ },
+ "workspace": {
+ "configuration": true,
+ "workspaceFolders": true
}
}
}
diff --git a/cli/tests/lsp/initialize_params_unstable.json b/cli/tests/lsp/initialize_params_unstable.json
index fd8ccdd83..153e3aef1 100644
--- a/cli/tests/lsp/initialize_params_unstable.json
+++ b/cli/tests/lsp/initialize_params_unstable.json
@@ -51,6 +51,10 @@
"willSaveWaitUntil": true,
"didSave": true
}
+ },
+ "workspace": {
+ "configuration": true,
+ "workspaceFolders": true
}
}
}