Use inline snapshots in complete_fn_param

This commit is contained in:
Ville Penttinen 2019-04-10 13:22:50 +03:00
parent 37eb12f2dd
commit 1b19c1c8f2
4 changed files with 58 additions and 72 deletions

View file

@ -54,40 +54,61 @@ pub(super) fn complete_fn_param(acc: &mut Completions, ctx: &CompletionContext)
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use crate::completion::{check_completion, CompletionKind}; use crate::completion::{do_completion, CompletionItem, CompletionKind};
use insta::assert_debug_snapshot_matches;
fn check_magic_completion(name: &str, code: &str) { fn do_magic_completion(code: &str) -> Vec<CompletionItem> {
check_completion(name, code, CompletionKind::Magic); do_completion(code, CompletionKind::Magic)
} }
#[test] #[test]
fn test_param_completion_last_param() { fn test_param_completion_last_param() {
check_magic_completion( assert_debug_snapshot_matches!(
"param_completion_last_param", do_magic_completion(
r" r"
fn foo(file_id: FileId) {} fn foo(file_id: FileId) {}
fn bar(file_id: FileId) {} fn bar(file_id: FileId) {}
fn baz(file<|>) {} fn baz(file<|>) {}
", ",
),
@r###"[
CompletionItem {
label: "file_id: FileId",
source_range: [110; 114),
delete: [110; 114),
insert: "file_id: FileId",
lookup: "file_id"
}
]"###
); );
} }
#[test] #[test]
fn test_param_completion_nth_param() { fn test_param_completion_nth_param() {
check_magic_completion( assert_debug_snapshot_matches!(
"param_completion_nth_param", do_magic_completion(
r" r"
fn foo(file_id: FileId) {} fn foo(file_id: FileId) {}
fn bar(file_id: FileId) {} fn bar(file_id: FileId) {}
fn baz(file<|>, x: i32) {} fn baz(file<|>, x: i32) {}
", ",
),
@r###"[
CompletionItem {
label: "file_id: FileId",
source_range: [110; 114),
delete: [110; 114),
insert: "file_id: FileId",
lookup: "file_id"
}
]"###
); );
} }
#[test] #[test]
fn test_param_completion_trait_param() { fn test_param_completion_trait_param() {
check_magic_completion( assert_debug_snapshot_matches!(
"param_completion_trait_param", do_magic_completion(
r" r"
pub(crate) trait SourceRoot { pub(crate) trait SourceRoot {
pub fn contains(&self, file_id: FileId) -> bool; pub fn contains(&self, file_id: FileId) -> bool;
@ -96,6 +117,16 @@ mod tests {
pub fn syntax(&self, file<|>) pub fn syntax(&self, file<|>)
} }
", ",
),
@r###"[
CompletionItem {
label: "file_id: FileId",
source_range: [289; 293),
delete: [289; 293),
insert: "file_id: FileId",
lookup: "file_id"
}
]"###
); );
} }
} }

View file

@ -1,15 +0,0 @@
---
created: "2019-02-18T09:22:23.949634602Z"
creator: insta@0.6.2
source: crates/ra_ide_api/src/completion/completion_item.rs
expression: kind_completions
---
[
CompletionItem {
label: "file_id: FileId",
source_range: [98; 102),
delete: [98; 102),
insert: "file_id: FileId",
lookup: "file_id"
}
]

View file

@ -1,15 +0,0 @@
---
created: "2019-02-18T09:22:23.949634355Z"
creator: insta@0.6.2
source: crates/ra_ide_api/src/completion/completion_item.rs
expression: kind_completions
---
[
CompletionItem {
label: "file_id: FileId",
source_range: [98; 102),
delete: [98; 102),
insert: "file_id: FileId",
lookup: "file_id"
}
]

View file

@ -1,15 +0,0 @@
---
created: "2019-02-18T09:22:23.974417169Z"
creator: insta@0.6.2
source: crates/ra_ide_api/src/completion/completion_item.rs
expression: kind_completions
---
[
CompletionItem {
label: "file_id: FileId",
source_range: [269; 273),
delete: [269; 273),
insert: "file_id: FileId",
lookup: "file_id"
}
]