diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-11 22:05:39 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-11 22:05:39 +0000 |
commit | db43080693dbef6f9adfca0ef818a6fe7016c94a (patch) | |
tree | 6be1668b8cf61d4d67054581a10424be0aaeaa0e /crates/ra_ide_api/src/completion/completion_item.rs | |
parent | db6d214411505de6534fce183e9bea8109bc5283 (diff) | |
parent | 8ef80086a0ee81b4dedab6d37a9a2e7fe5bce38a (diff) |
Merge #794
794: fix regression in self-referential completion r=flodiebold a=matklad
r? @flodiebold
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_ide_api/src/completion/completion_item.rs')
-rw-r--r-- | crates/ra_ide_api/src/completion/completion_item.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/crates/ra_ide_api/src/completion/completion_item.rs b/crates/ra_ide_api/src/completion/completion_item.rs index 7b8972af0..22ff08a23 100644 --- a/crates/ra_ide_api/src/completion/completion_item.rs +++ b/crates/ra_ide_api/src/completion/completion_item.rs | |||
@@ -306,10 +306,9 @@ fn function_item_label(ctx: &CompletionContext, function: hir::Function) -> Opti | |||
306 | } | 306 | } |
307 | 307 | ||
308 | #[cfg(test)] | 308 | #[cfg(test)] |
309 | pub(crate) fn check_completion(test_name: &str, code: &str, kind: CompletionKind) { | 309 | pub(crate) fn do_completion(code: &str, kind: CompletionKind) -> Vec<CompletionItem> { |
310 | use crate::mock_analysis::{single_file_with_position, analysis_and_position}; | 310 | use crate::mock_analysis::{single_file_with_position, analysis_and_position}; |
311 | use crate::completion::completions; | 311 | use crate::completion::completions; |
312 | use insta::assert_debug_snapshot_matches; | ||
313 | let (analysis, position) = if code.contains("//-") { | 312 | let (analysis, position) = if code.contains("//-") { |
314 | analysis_and_position(code) | 313 | analysis_and_position(code) |
315 | } else { | 314 | } else { |
@@ -320,6 +319,13 @@ pub(crate) fn check_completion(test_name: &str, code: &str, kind: CompletionKind | |||
320 | let mut kind_completions: Vec<CompletionItem> = | 319 | let mut kind_completions: Vec<CompletionItem> = |
321 | completion_items.into_iter().filter(|c| c.completion_kind == kind).collect(); | 320 | completion_items.into_iter().filter(|c| c.completion_kind == kind).collect(); |
322 | kind_completions.sort_by_key(|c| c.label.clone()); | 321 | kind_completions.sort_by_key(|c| c.label.clone()); |
322 | kind_completions | ||
323 | } | ||
324 | |||
325 | #[cfg(test)] | ||
326 | pub(crate) fn check_completion(test_name: &str, code: &str, kind: CompletionKind) { | ||
327 | use insta::assert_debug_snapshot_matches; | ||
328 | let kind_completions = do_completion(code, kind); | ||
323 | assert_debug_snapshot_matches!(test_name, kind_completions); | 329 | assert_debug_snapshot_matches!(test_name, kind_completions); |
324 | } | 330 | } |
325 | 331 | ||