From 9b0b59c5d2eb1eee8ef16118ddd20ad1302f2c62 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 11 Mar 2020 10:39:39 +0100 Subject: Add a test for disabled argument snippets --- crates/ra_ide/src/completion/completion_item.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'crates/ra_ide/src/completion/completion_item.rs') diff --git a/crates/ra_ide/src/completion/completion_item.rs b/crates/ra_ide/src/completion/completion_item.rs index 1d14e9636..ef6848607 100644 --- a/crates/ra_ide/src/completion/completion_item.rs +++ b/crates/ra_ide/src/completion/completion_item.rs @@ -321,8 +321,17 @@ impl Into> for Completions { #[cfg(test)] pub(crate) fn do_completion(code: &str, kind: CompletionKind) -> Vec { + do_completion_with_options(code, kind, &crate::completion::CompletionOptions::default()) +} + +#[cfg(test)] +pub(crate) fn do_completion_with_options( + code: &str, + kind: CompletionKind, + options: &crate::completion::CompletionOptions, +) -> Vec { use crate::{ - completion::{completions, CompletionOptions}, + completion::completions, mock_analysis::{analysis_and_position, single_file_with_position}, }; @@ -331,7 +340,6 @@ pub(crate) fn do_completion(code: &str, kind: CompletionKind) -> Vec = completions.into(); let mut kind_completions: Vec = -- cgit v1.2.3 From dad8f1e064eda525b5b98750ac4b28e5c34b0726 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 11 Mar 2020 10:46:43 +0100 Subject: Introduce completion test utils --- crates/ra_ide/src/completion/completion_item.rs | 31 +------------------------ 1 file changed, 1 insertion(+), 30 deletions(-) (limited to 'crates/ra_ide/src/completion/completion_item.rs') diff --git a/crates/ra_ide/src/completion/completion_item.rs b/crates/ra_ide/src/completion/completion_item.rs index ef6848607..ef0eb43b2 100644 --- a/crates/ra_ide/src/completion/completion_item.rs +++ b/crates/ra_ide/src/completion/completion_item.rs @@ -13,7 +13,7 @@ pub struct CompletionItem { /// Used only internally in tests, to check only specific kind of /// completion (postfix, keyword, reference, etc). #[allow(unused)] - completion_kind: CompletionKind, + pub(crate) completion_kind: CompletionKind, /// Label in the completion pop up which identifies completion. label: String, /// Range of identifier that is being completed. @@ -318,32 +318,3 @@ impl Into> for Completions { self.buf } } - -#[cfg(test)] -pub(crate) fn do_completion(code: &str, kind: CompletionKind) -> Vec { - do_completion_with_options(code, kind, &crate::completion::CompletionOptions::default()) -} - -#[cfg(test)] -pub(crate) fn do_completion_with_options( - code: &str, - kind: CompletionKind, - options: &crate::completion::CompletionOptions, -) -> Vec { - use crate::{ - completion::completions, - mock_analysis::{analysis_and_position, single_file_with_position}, - }; - - let (analysis, position) = if code.contains("//-") { - analysis_and_position(code) - } else { - single_file_with_position(code) - }; - let completions = completions(&analysis.db, position, &options).unwrap(); - let completion_items: Vec = completions.into(); - let mut kind_completions: Vec = - completion_items.into_iter().filter(|c| c.completion_kind == kind).collect(); - kind_completions.sort_by_key(|c| c.label.clone()); - kind_completions -} -- cgit v1.2.3