From e9aa09bfd4cba16219fc991c144bc257cfc52f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 28 Mar 2023 23:58:12 +0200 Subject: [PATCH] test(lsp): make lsp_completions_auto_import more robust (#18482) A completely unrelated change in https://github.com/denoland/deno/pull/18286 threw of this test. These changes make it more robust and easier to update in such cases. --- cli/tests/integration/lsp_tests.rs | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/cli/tests/integration/lsp_tests.rs b/cli/tests/integration/lsp_tests.rs index 2f14e589d5..11800c2f76 100644 --- a/cli/tests/integration/lsp_tests.rs +++ b/cli/tests/integration/lsp_tests.rs @@ -4402,40 +4402,40 @@ fn lsp_completions_auto_import() { json!({ "triggerKind": 1 }), ); assert!(!list.is_incomplete); - if !list.items.iter().any(|item| item.label == "foo") { + let item = list.items.iter().find(|item| item.label == "foo"); + if item.is_none() { panic!("completions items missing 'foo' symbol"); } - // the request here is one of the items in `list` - let res = client.write_request( - "completionItem/resolve", - json!({ - "label": "foo", - "kind": 6, - "sortText": "￿16", - "commitCharacters": [ - ".", - ",", - ";", - "(" - ], - "data": { - "tsc": { - "specifier": "file:///a/file.ts", - "position": 12, - "name": "foo", - "source": "./b.ts", - "data": { - "exportName": "foo", - "exportMapKey": "foo|6843|file:///a/b", - "moduleSpecifier": "./b.ts", - "fileName": "file:///a/b.ts" - }, - "useCodeSnippet": false - } + let req = json!({ + "label": "foo", + "kind": 6, + "sortText": "￿16", + "commitCharacters": [ + ".", + ",", + ";", + "(" + ], + "data": { + "tsc": { + "specifier": "file:///a/file.ts", + "position": 12, + "name": "foo", + "source": "./b.ts", + "data": { + "exportName": "foo", + "exportMapKey": "foo|6843|file:///a/b", + "moduleSpecifier": "./b.ts", + "fileName": "file:///a/b.ts" + }, + "useCodeSnippet": false } - }), - ); + } + }); + assert_eq!(serde_json::to_value(item.unwrap()).unwrap(), req); + + let res = client.write_request("completionItem/resolve", req); assert_eq!( res, json!({