diff options
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_ide/src/completion/complete_fn_param.rs | 124 |
1 files changed, 60 insertions, 64 deletions
diff --git a/crates/ra_ide/src/completion/complete_fn_param.rs b/crates/ra_ide/src/completion/complete_fn_param.rs index f5573ddf7..9fb5c050e 100644 --- a/crates/ra_ide/src/completion/complete_fn_param.rs +++ b/crates/ra_ide/src/completion/complete_fn_param.rs | |||
@@ -54,85 +54,81 @@ pub(super) fn complete_fn_param(acc: &mut Completions, ctx: &CompletionContext) | |||
54 | 54 | ||
55 | #[cfg(test)] | 55 | #[cfg(test)] |
56 | mod tests { | 56 | mod tests { |
57 | use crate::completion::{test_utils::do_completion, CompletionItem, CompletionKind}; | 57 | use expect::{expect, Expect}; |
58 | use insta::assert_debug_snapshot; | ||
59 | 58 | ||
60 | fn do_magic_completion(code: &str) -> Vec<CompletionItem> { | 59 | use crate::completion::{test_utils::do_completion, CompletionKind}; |
61 | do_completion(code, CompletionKind::Magic) | 60 | |
61 | fn check(ra_fixture: &str, expect: Expect) { | ||
62 | let actual = do_completion(ra_fixture, CompletionKind::Magic); | ||
63 | expect.assert_debug_eq(&actual); | ||
62 | } | 64 | } |
63 | 65 | ||
64 | #[test] | 66 | #[test] |
65 | fn test_param_completion_last_param() { | 67 | fn test_param_completion_last_param() { |
66 | assert_debug_snapshot!( | 68 | check( |
67 | do_magic_completion( | 69 | r#" |
68 | r" | 70 | fn foo(file_id: FileId) {} |
69 | fn foo(file_id: FileId) {} | 71 | fn bar(file_id: FileId) {} |
70 | fn bar(file_id: FileId) {} | 72 | fn baz(file<|>) {} |
71 | fn baz(file<|>) {} | 73 | "#, |
72 | ", | 74 | expect![[r#" |
73 | ), | 75 | [ |
74 | @r###" | 76 | CompletionItem { |
75 | [ | 77 | label: "file_id: FileId", |
76 | CompletionItem { | 78 | source_range: 61..65, |
77 | label: "file_id: FileId", | 79 | delete: 61..65, |
78 | source_range: 61..65, | 80 | insert: "file_id: FileId", |
79 | delete: 61..65, | 81 | lookup: "file_id", |
80 | insert: "file_id: FileId", | 82 | }, |
81 | lookup: "file_id", | 83 | ] |
82 | }, | 84 | "#]], |
83 | ] | ||
84 | "### | ||
85 | ); | 85 | ); |
86 | } | 86 | } |
87 | 87 | ||
88 | #[test] | 88 | #[test] |
89 | fn test_param_completion_nth_param() { | 89 | fn test_param_completion_nth_param() { |
90 | assert_debug_snapshot!( | 90 | check( |
91 | do_magic_completion( | 91 | r#" |
92 | r" | 92 | fn foo(file_id: FileId) {} |
93 | fn foo(file_id: FileId) {} | 93 | fn bar(file_id: FileId) {} |
94 | fn bar(file_id: FileId) {} | 94 | fn baz(file<|>, x: i32) {} |
95 | fn baz(file<|>, x: i32) {} | 95 | "#, |
96 | ", | 96 | expect![[r#" |
97 | ), | 97 | [ |
98 | @r###" | 98 | CompletionItem { |
99 | [ | 99 | label: "file_id: FileId", |
100 | CompletionItem { | 100 | source_range: 61..65, |
101 | label: "file_id: FileId", | 101 | delete: 61..65, |
102 | source_range: 61..65, | 102 | insert: "file_id: FileId", |
103 | delete: 61..65, | 103 | lookup: "file_id", |
104 | insert: "file_id: FileId", | 104 | }, |
105 | lookup: "file_id", | 105 | ] |
106 | }, | 106 | "#]], |
107 | ] | ||
108 | "### | ||
109 | ); | 107 | ); |
110 | } | 108 | } |
111 | 109 | ||
112 | #[test] | 110 | #[test] |
113 | fn test_param_completion_trait_param() { | 111 | fn test_param_completion_trait_param() { |
114 | assert_debug_snapshot!( | 112 | check( |
115 | do_magic_completion( | 113 | r#" |
116 | r" | 114 | pub(crate) trait SourceRoot { |
117 | pub(crate) trait SourceRoot { | 115 | pub fn contains(&self, file_id: FileId) -> bool; |
118 | pub fn contains(&self, file_id: FileId) -> bool; | 116 | pub fn module_map(&self) -> &ModuleMap; |
119 | pub fn module_map(&self) -> &ModuleMap; | 117 | pub fn lines(&self, file_id: FileId) -> &LineIndex; |
120 | pub fn lines(&self, file_id: FileId) -> &LineIndex; | 118 | pub fn syntax(&self, file<|>) |
121 | pub fn syntax(&self, file<|>) | 119 | } |
122 | } | 120 | "#, |
123 | ", | 121 | expect![[r#" |
124 | ), | 122 | [ |
125 | @r###" | 123 | CompletionItem { |
126 | [ | 124 | label: "file_id: FileId", |
127 | CompletionItem { | 125 | source_range: 208..212, |
128 | label: "file_id: FileId", | 126 | delete: 208..212, |
129 | source_range: 208..212, | 127 | insert: "file_id: FileId", |
130 | delete: 208..212, | 128 | lookup: "file_id", |
131 | insert: "file_id: FileId", | 129 | }, |
132 | lookup: "file_id", | 130 | ] |
133 | }, | 131 | "#]], |
134 | ] | ||
135 | "### | ||
136 | ); | 132 | ); |
137 | } | 133 | } |
138 | } | 134 | } |