aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/completion/test_utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide/src/completion/test_utils.rs')
-rw-r--r--crates/ra_ide/src/completion/test_utils.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/crates/ra_ide/src/completion/test_utils.rs b/crates/ra_ide/src/completion/test_utils.rs
index 9c036eac7..f25190241 100644
--- a/crates/ra_ide/src/completion/test_utils.rs
+++ b/crates/ra_ide/src/completion/test_utils.rs
@@ -3,7 +3,7 @@
3use hir::Semantics; 3use hir::Semantics;
4use itertools::Itertools; 4use itertools::Itertools;
5use ra_syntax::{AstNode, NodeOrToken, SyntaxElement}; 5use ra_syntax::{AstNode, NodeOrToken, SyntaxElement};
6use stdx::format_to; 6use stdx::{format_to, trim_indent};
7use test_utils::assert_eq_text; 7use test_utils::assert_eq_text;
8 8
9use crate::{ 9use crate::{
@@ -57,14 +57,18 @@ pub(crate) fn completion_list_with_options(
57} 57}
58 58
59pub(crate) fn check_edit(what: &str, ra_fixture_before: &str, ra_fixture_after: &str) { 59pub(crate) fn check_edit(what: &str, ra_fixture_before: &str, ra_fixture_after: &str) {
60 let ra_fixture_after = trim_indent(ra_fixture_after);
60 let (analysis, position) = analysis_and_position(ra_fixture_before); 61 let (analysis, position) = analysis_and_position(ra_fixture_before);
61 let completions: Vec<CompletionItem> = 62 let completions: Vec<CompletionItem> =
62 analysis.completions(&CompletionConfig::default(), position).unwrap().unwrap().into(); 63 analysis.completions(&CompletionConfig::default(), position).unwrap().unwrap().into();
63 let (completion,) = 64 let (completion,) = completions
64 completions.into_iter().filter(|it| it.label() == what).collect_tuple().unwrap(); 65 .iter()
66 .filter(|it| it.lookup() == what)
67 .collect_tuple()
68 .unwrap_or_else(|| panic!("can't find {:?} completion in {:#?}", what, completions));
65 let mut actual = analysis.file_text(position.file_id).unwrap().to_string(); 69 let mut actual = analysis.file_text(position.file_id).unwrap().to_string();
66 completion.text_edit().apply(&mut actual); 70 completion.text_edit().apply(&mut actual);
67 assert_eq_text!(ra_fixture_after, &actual) 71 assert_eq_text!(&ra_fixture_after, &actual)
68} 72}
69 73
70pub(crate) fn check_pattern_is_applicable(code: &str, check: fn(SyntaxElement) -> bool) { 74pub(crate) fn check_pattern_is_applicable(code: &str, check: fn(SyntaxElement) -> bool) {