diff options
author | Laurențiu Nicola <[email protected]> | 2021-03-08 20:19:44 +0000 |
---|---|---|
committer | Laurențiu Nicola <[email protected]> | 2021-03-08 20:19:44 +0000 |
commit | fc9eed4836dfc88fe2893c81b015ab440cea2ba6 (patch) | |
tree | 3905029a42c8bb6c5d363753b34cd6b5dd43f4d5 /crates/ide_completion | |
parent | c5189a22ccf4c28e309e4189defbb88b83bb2aea (diff) |
Use upstream cov-mark
Diffstat (limited to 'crates/ide_completion')
-rw-r--r-- | crates/ide_completion/Cargo.toml | 1 | ||||
-rw-r--r-- | crates/ide_completion/src/completions/dot.rs | 6 | ||||
-rw-r--r-- | crates/ide_completion/src/completions/flyimport.rs | 10 | ||||
-rw-r--r-- | crates/ide_completion/src/completions/keyword.rs | 14 | ||||
-rw-r--r-- | crates/ide_completion/src/completions/qualified_path.rs | 6 | ||||
-rw-r--r-- | crates/ide_completion/src/completions/unqualified_path.rs | 12 | ||||
-rw-r--r-- | crates/ide_completion/src/context.rs | 4 | ||||
-rw-r--r-- | crates/ide_completion/src/render.rs | 18 | ||||
-rw-r--r-- | crates/ide_completion/src/render/builder_ext.rs | 9 | ||||
-rw-r--r-- | crates/ide_completion/src/render/enum_variant.rs | 7 | ||||
-rw-r--r-- | crates/ide_completion/src/render/function.rs | 11 | ||||
-rw-r--r-- | crates/ide_completion/src/render/macro_.rs | 7 |
12 files changed, 42 insertions, 63 deletions
diff --git a/crates/ide_completion/Cargo.toml b/crates/ide_completion/Cargo.toml index c09101ccb..84aa40736 100644 --- a/crates/ide_completion/Cargo.toml +++ b/crates/ide_completion/Cargo.toml | |||
@@ -10,6 +10,7 @@ edition = "2018" | |||
10 | doctest = false | 10 | doctest = false |
11 | 11 | ||
12 | [dependencies] | 12 | [dependencies] |
13 | cov-mark = "1.1" | ||
13 | itertools = "0.10.0" | 14 | itertools = "0.10.0" |
14 | log = "0.4.8" | 15 | log = "0.4.8" |
15 | rustc-hash = "1.1.0" | 16 | rustc-hash = "1.1.0" |
diff --git a/crates/ide_completion/src/completions/dot.rs b/crates/ide_completion/src/completions/dot.rs index 084d7721d..5ee9a9f07 100644 --- a/crates/ide_completion/src/completions/dot.rs +++ b/crates/ide_completion/src/completions/dot.rs | |||
@@ -2,7 +2,6 @@ | |||
2 | 2 | ||
3 | use hir::{HasVisibility, Type}; | 3 | use hir::{HasVisibility, Type}; |
4 | use rustc_hash::FxHashSet; | 4 | use rustc_hash::FxHashSet; |
5 | use test_utils::mark; | ||
6 | 5 | ||
7 | use crate::{context::CompletionContext, Completions}; | 6 | use crate::{context::CompletionContext, Completions}; |
8 | 7 | ||
@@ -19,7 +18,7 @@ pub(crate) fn complete_dot(acc: &mut Completions, ctx: &CompletionContext) { | |||
19 | }; | 18 | }; |
20 | 19 | ||
21 | if ctx.is_call { | 20 | if ctx.is_call { |
22 | mark::hit!(test_no_struct_field_completion_for_method_call); | 21 | cov_mark::hit!(test_no_struct_field_completion_for_method_call); |
23 | } else { | 22 | } else { |
24 | complete_fields(acc, ctx, &receiver_ty); | 23 | complete_fields(acc, ctx, &receiver_ty); |
25 | } | 24 | } |
@@ -62,7 +61,6 @@ fn complete_methods(acc: &mut Completions, ctx: &CompletionContext, receiver: &T | |||
62 | #[cfg(test)] | 61 | #[cfg(test)] |
63 | mod tests { | 62 | mod tests { |
64 | use expect_test::{expect, Expect}; | 63 | use expect_test::{expect, Expect}; |
65 | use test_utils::mark; | ||
66 | 64 | ||
67 | use crate::{test_utils::completion_list, CompletionKind}; | 65 | use crate::{test_utils::completion_list, CompletionKind}; |
68 | 66 | ||
@@ -122,7 +120,7 @@ impl A { | |||
122 | 120 | ||
123 | #[test] | 121 | #[test] |
124 | fn test_no_struct_field_completion_for_method_call() { | 122 | fn test_no_struct_field_completion_for_method_call() { |
125 | mark::check!(test_no_struct_field_completion_for_method_call); | 123 | cov_mark::check!(test_no_struct_field_completion_for_method_call); |
126 | check( | 124 | check( |
127 | r#" | 125 | r#" |
128 | struct A { the_field: u32 } | 126 | struct A { the_field: u32 } |
diff --git a/crates/ide_completion/src/completions/flyimport.rs b/crates/ide_completion/src/completions/flyimport.rs index da8375af9..f34764b61 100644 --- a/crates/ide_completion/src/completions/flyimport.rs +++ b/crates/ide_completion/src/completions/flyimport.rs | |||
@@ -55,7 +55,6 @@ use ide_db::helpers::{ | |||
55 | }; | 55 | }; |
56 | use rustc_hash::FxHashSet; | 56 | use rustc_hash::FxHashSet; |
57 | use syntax::{AstNode, SyntaxNode, T}; | 57 | use syntax::{AstNode, SyntaxNode, T}; |
58 | use test_utils::mark; | ||
59 | 58 | ||
60 | use crate::{ | 59 | use crate::{ |
61 | context::CompletionContext, | 60 | context::CompletionContext, |
@@ -174,7 +173,7 @@ fn import_assets(ctx: &CompletionContext, fuzzy_name: String) -> Option<ImportAs | |||
174 | if matches!(assets_for_path.as_ref()?.import_candidate(), ImportCandidate::Path(_)) | 173 | if matches!(assets_for_path.as_ref()?.import_candidate(), ImportCandidate::Path(_)) |
175 | && fuzzy_name_length < 2 | 174 | && fuzzy_name_length < 2 |
176 | { | 175 | { |
177 | mark::hit!(ignore_short_input_for_path); | 176 | cov_mark::hit!(ignore_short_input_for_path); |
178 | None | 177 | None |
179 | } else { | 178 | } else { |
180 | assets_for_path | 179 | assets_for_path |
@@ -186,7 +185,7 @@ fn compute_fuzzy_completion_order_key( | |||
186 | proposed_mod_path: &ModPath, | 185 | proposed_mod_path: &ModPath, |
187 | user_input_lowercased: &str, | 186 | user_input_lowercased: &str, |
188 | ) -> usize { | 187 | ) -> usize { |
189 | mark::hit!(certain_fuzzy_order_test); | 188 | cov_mark::hit!(certain_fuzzy_order_test); |
190 | let proposed_import_name = match proposed_mod_path.segments().last() { | 189 | let proposed_import_name = match proposed_mod_path.segments().last() { |
191 | Some(name) => name.to_string().to_lowercase(), | 190 | Some(name) => name.to_string().to_lowercase(), |
192 | None => return usize::MAX, | 191 | None => return usize::MAX, |
@@ -200,7 +199,6 @@ fn compute_fuzzy_completion_order_key( | |||
200 | #[cfg(test)] | 199 | #[cfg(test)] |
201 | mod tests { | 200 | mod tests { |
202 | use expect_test::{expect, Expect}; | 201 | use expect_test::{expect, Expect}; |
203 | use test_utils::mark; | ||
204 | 202 | ||
205 | use crate::{ | 203 | use crate::{ |
206 | item::CompletionKind, | 204 | item::CompletionKind, |
@@ -295,7 +293,7 @@ fn main() { | |||
295 | 293 | ||
296 | #[test] | 294 | #[test] |
297 | fn short_paths_are_ignored() { | 295 | fn short_paths_are_ignored() { |
298 | mark::check!(ignore_short_input_for_path); | 296 | cov_mark::check!(ignore_short_input_for_path); |
299 | 297 | ||
300 | check( | 298 | check( |
301 | r#" | 299 | r#" |
@@ -319,7 +317,7 @@ fn main() { | |||
319 | 317 | ||
320 | #[test] | 318 | #[test] |
321 | fn fuzzy_completions_come_in_specific_order() { | 319 | fn fuzzy_completions_come_in_specific_order() { |
322 | mark::check!(certain_fuzzy_order_test); | 320 | cov_mark::check!(certain_fuzzy_order_test); |
323 | check( | 321 | check( |
324 | r#" | 322 | r#" |
325 | //- /lib.rs crate:dep | 323 | //- /lib.rs crate:dep |
diff --git a/crates/ide_completion/src/completions/keyword.rs b/crates/ide_completion/src/completions/keyword.rs index 03c6dd454..80aa9fb06 100644 --- a/crates/ide_completion/src/completions/keyword.rs +++ b/crates/ide_completion/src/completions/keyword.rs | |||
@@ -3,7 +3,6 @@ | |||
3 | use std::iter; | 3 | use std::iter; |
4 | 4 | ||
5 | use syntax::SyntaxKind; | 5 | use syntax::SyntaxKind; |
6 | use test_utils::mark; | ||
7 | 6 | ||
8 | use crate::{CompletionContext, CompletionItem, CompletionItemKind, CompletionKind, Completions}; | 7 | use crate::{CompletionContext, CompletionItem, CompletionItemKind, CompletionKind, Completions}; |
9 | 8 | ||
@@ -47,11 +46,11 @@ pub(crate) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionC | |||
47 | 46 | ||
48 | pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionContext) { | 47 | pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionContext) { |
49 | if ctx.token.kind() == SyntaxKind::COMMENT { | 48 | if ctx.token.kind() == SyntaxKind::COMMENT { |
50 | mark::hit!(no_keyword_completion_in_comments); | 49 | cov_mark::hit!(no_keyword_completion_in_comments); |
51 | return; | 50 | return; |
52 | } | 51 | } |
53 | if ctx.record_lit_syntax.is_some() { | 52 | if ctx.record_lit_syntax.is_some() { |
54 | mark::hit!(no_keyword_completion_in_record_lit); | 53 | cov_mark::hit!(no_keyword_completion_in_record_lit); |
55 | return; | 54 | return; |
56 | } | 55 | } |
57 | 56 | ||
@@ -172,7 +171,7 @@ fn add_keyword(ctx: &CompletionContext, acc: &mut Completions, kw: &str, snippet | |||
172 | Some(cap) => { | 171 | Some(cap) => { |
173 | let tmp; | 172 | let tmp; |
174 | let snippet = if snippet.ends_with('}') && ctx.incomplete_let { | 173 | let snippet = if snippet.ends_with('}') && ctx.incomplete_let { |
175 | mark::hit!(let_semi); | 174 | cov_mark::hit!(let_semi); |
176 | tmp = format!("{};", snippet); | 175 | tmp = format!("{};", snippet); |
177 | &tmp | 176 | &tmp |
178 | } else { | 177 | } else { |
@@ -188,7 +187,6 @@ fn add_keyword(ctx: &CompletionContext, acc: &mut Completions, kw: &str, snippet | |||
188 | #[cfg(test)] | 187 | #[cfg(test)] |
189 | mod tests { | 188 | mod tests { |
190 | use expect_test::{expect, Expect}; | 189 | use expect_test::{expect, Expect}; |
191 | use test_utils::mark; | ||
192 | 190 | ||
193 | use crate::{ | 191 | use crate::{ |
194 | test_utils::{check_edit, completion_list}, | 192 | test_utils::{check_edit, completion_list}, |
@@ -494,7 +492,7 @@ fn quux() -> i32 { | |||
494 | 492 | ||
495 | #[test] | 493 | #[test] |
496 | fn no_keyword_completion_in_comments() { | 494 | fn no_keyword_completion_in_comments() { |
497 | mark::check!(no_keyword_completion_in_comments); | 495 | cov_mark::check!(no_keyword_completion_in_comments); |
498 | check( | 496 | check( |
499 | r#" | 497 | r#" |
500 | fn test() { | 498 | fn test() { |
@@ -599,7 +597,7 @@ struct Foo { | |||
599 | 597 | ||
600 | #[test] | 598 | #[test] |
601 | fn skip_struct_initializer() { | 599 | fn skip_struct_initializer() { |
602 | mark::check!(no_keyword_completion_in_record_lit); | 600 | cov_mark::check!(no_keyword_completion_in_record_lit); |
603 | check( | 601 | check( |
604 | r#" | 602 | r#" |
605 | struct Foo { | 603 | struct Foo { |
@@ -643,7 +641,7 @@ fn foo() { | |||
643 | 641 | ||
644 | #[test] | 642 | #[test] |
645 | fn let_semi() { | 643 | fn let_semi() { |
646 | mark::check!(let_semi); | 644 | cov_mark::check!(let_semi); |
647 | check_edit( | 645 | check_edit( |
648 | "match", | 646 | "match", |
649 | r#" | 647 | r#" |
diff --git a/crates/ide_completion/src/completions/qualified_path.rs b/crates/ide_completion/src/completions/qualified_path.rs index 72fb757b1..df74b739e 100644 --- a/crates/ide_completion/src/completions/qualified_path.rs +++ b/crates/ide_completion/src/completions/qualified_path.rs | |||
@@ -3,7 +3,6 @@ | |||
3 | use hir::{Adt, HasVisibility, PathResolution, ScopeDef}; | 3 | use hir::{Adt, HasVisibility, PathResolution, ScopeDef}; |
4 | use rustc_hash::FxHashSet; | 4 | use rustc_hash::FxHashSet; |
5 | use syntax::AstNode; | 5 | use syntax::AstNode; |
6 | use test_utils::mark; | ||
7 | 6 | ||
8 | use crate::{CompletionContext, Completions}; | 7 | use crate::{CompletionContext, Completions}; |
9 | 8 | ||
@@ -39,7 +38,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon | |||
39 | if let Some(name_ref) = ctx.name_ref_syntax.as_ref() { | 38 | if let Some(name_ref) = ctx.name_ref_syntax.as_ref() { |
40 | if name_ref.syntax().text() == name.to_string().as_str() { | 39 | if name_ref.syntax().text() == name.to_string().as_str() { |
41 | // for `use self::foo$0`, don't suggest `foo` as a completion | 40 | // for `use self::foo$0`, don't suggest `foo` as a completion |
42 | mark::hit!(dont_complete_current_use); | 41 | cov_mark::hit!(dont_complete_current_use); |
43 | continue; | 42 | continue; |
44 | } | 43 | } |
45 | } | 44 | } |
@@ -155,7 +154,6 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon | |||
155 | #[cfg(test)] | 154 | #[cfg(test)] |
156 | mod tests { | 155 | mod tests { |
157 | use expect_test::{expect, Expect}; | 156 | use expect_test::{expect, Expect}; |
158 | use test_utils::mark; | ||
159 | 157 | ||
160 | use crate::{ | 158 | use crate::{ |
161 | test_utils::{check_edit, completion_list}, | 159 | test_utils::{check_edit, completion_list}, |
@@ -174,7 +172,7 @@ mod tests { | |||
174 | 172 | ||
175 | #[test] | 173 | #[test] |
176 | fn dont_complete_current_use() { | 174 | fn dont_complete_current_use() { |
177 | mark::check!(dont_complete_current_use); | 175 | cov_mark::check!(dont_complete_current_use); |
178 | check(r#"use self::foo$0;"#, expect![[""]]); | 176 | check(r#"use self::foo$0;"#, expect![[""]]); |
179 | } | 177 | } |
180 | 178 | ||
diff --git a/crates/ide_completion/src/completions/unqualified_path.rs b/crates/ide_completion/src/completions/unqualified_path.rs index e9d0ff665..044dfd160 100644 --- a/crates/ide_completion/src/completions/unqualified_path.rs +++ b/crates/ide_completion/src/completions/unqualified_path.rs | |||
@@ -2,7 +2,6 @@ | |||
2 | 2 | ||
3 | use hir::ScopeDef; | 3 | use hir::ScopeDef; |
4 | use syntax::AstNode; | 4 | use syntax::AstNode; |
5 | use test_utils::mark; | ||
6 | 5 | ||
7 | use crate::{CompletionContext, Completions}; | 6 | use crate::{CompletionContext, Completions}; |
8 | 7 | ||
@@ -30,13 +29,13 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC | |||
30 | 29 | ||
31 | ctx.scope.process_all_names(&mut |name, res| { | 30 | ctx.scope.process_all_names(&mut |name, res| { |
32 | if let ScopeDef::GenericParam(hir::GenericParam::LifetimeParam(_)) = res { | 31 | if let ScopeDef::GenericParam(hir::GenericParam::LifetimeParam(_)) = res { |
33 | mark::hit!(skip_lifetime_completion); | 32 | cov_mark::hit!(skip_lifetime_completion); |
34 | return; | 33 | return; |
35 | } | 34 | } |
36 | if ctx.use_item_syntax.is_some() { | 35 | if ctx.use_item_syntax.is_some() { |
37 | if let (ScopeDef::Unknown, Some(name_ref)) = (&res, &ctx.name_ref_syntax) { | 36 | if let (ScopeDef::Unknown, Some(name_ref)) = (&res, &ctx.name_ref_syntax) { |
38 | if name_ref.syntax().text() == name.to_string().as_str() { | 37 | if name_ref.syntax().text() == name.to_string().as_str() { |
39 | mark::hit!(self_fulfilling_completion); | 38 | cov_mark::hit!(self_fulfilling_completion); |
40 | return; | 39 | return; |
41 | } | 40 | } |
42 | } | 41 | } |
@@ -48,7 +47,6 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC | |||
48 | #[cfg(test)] | 47 | #[cfg(test)] |
49 | mod tests { | 48 | mod tests { |
50 | use expect_test::{expect, Expect}; | 49 | use expect_test::{expect, Expect}; |
51 | use test_utils::mark; | ||
52 | 50 | ||
53 | use crate::{ | 51 | use crate::{ |
54 | test_utils::{check_edit, completion_list_with_config, TEST_CONFIG}, | 52 | test_utils::{check_edit, completion_list_with_config, TEST_CONFIG}, |
@@ -66,7 +64,7 @@ mod tests { | |||
66 | 64 | ||
67 | #[test] | 65 | #[test] |
68 | fn self_fulfilling_completion() { | 66 | fn self_fulfilling_completion() { |
69 | mark::check!(self_fulfilling_completion); | 67 | cov_mark::check!(self_fulfilling_completion); |
70 | check( | 68 | check( |
71 | r#" | 69 | r#" |
72 | use foo$0 | 70 | use foo$0 |
@@ -185,7 +183,7 @@ fn quux() { | |||
185 | 183 | ||
186 | #[test] | 184 | #[test] |
187 | fn completes_if_prefix_is_keyword() { | 185 | fn completes_if_prefix_is_keyword() { |
188 | mark::check!(completes_if_prefix_is_keyword); | 186 | cov_mark::check!(completes_if_prefix_is_keyword); |
189 | check_edit( | 187 | check_edit( |
190 | "wherewolf", | 188 | "wherewolf", |
191 | r#" | 189 | r#" |
@@ -223,7 +221,7 @@ fn main() { | |||
223 | 221 | ||
224 | #[test] | 222 | #[test] |
225 | fn does_not_complete_lifetimes() { | 223 | fn does_not_complete_lifetimes() { |
226 | mark::check!(skip_lifetime_completion); | 224 | cov_mark::check!(skip_lifetime_completion); |
227 | check( | 225 | check( |
228 | r#"fn quux<'a>() { $0 }"#, | 226 | r#"fn quux<'a>() { $0 }"#, |
229 | expect![[r#" | 227 | expect![[r#" |
diff --git a/crates/ide_completion/src/context.rs b/crates/ide_completion/src/context.rs index 3db357855..17d9a3adf 100644 --- a/crates/ide_completion/src/context.rs +++ b/crates/ide_completion/src/context.rs | |||
@@ -7,7 +7,7 @@ use syntax::{ | |||
7 | algo::find_node_at_offset, ast, match_ast, AstNode, NodeOrToken, SyntaxKind::*, SyntaxNode, | 7 | algo::find_node_at_offset, ast, match_ast, AstNode, NodeOrToken, SyntaxKind::*, SyntaxNode, |
8 | SyntaxToken, TextRange, TextSize, | 8 | SyntaxToken, TextRange, TextSize, |
9 | }; | 9 | }; |
10 | use test_utils::mark; | 10 | |
11 | use text_edit::Indel; | 11 | use text_edit::Indel; |
12 | 12 | ||
13 | use crate::{ | 13 | use crate::{ |
@@ -240,7 +240,7 @@ impl<'a> CompletionContext<'a> { | |||
240 | // check kind of macro-expanded token, but use range of original token | 240 | // check kind of macro-expanded token, but use range of original token |
241 | let kind = self.token.kind(); | 241 | let kind = self.token.kind(); |
242 | if kind == IDENT || kind == UNDERSCORE || kind.is_keyword() { | 242 | if kind == IDENT || kind == UNDERSCORE || kind.is_keyword() { |
243 | mark::hit!(completes_if_prefix_is_keyword); | 243 | cov_mark::hit!(completes_if_prefix_is_keyword); |
244 | self.original_token.text_range() | 244 | self.original_token.text_range() |
245 | } else { | 245 | } else { |
246 | TextRange::empty(self.position.offset) | 246 | TextRange::empty(self.position.offset) |
diff --git a/crates/ide_completion/src/render.rs b/crates/ide_completion/src/render.rs index eddaaa6f3..dcfac23c5 100644 --- a/crates/ide_completion/src/render.rs +++ b/crates/ide_completion/src/render.rs | |||
@@ -15,7 +15,6 @@ use hir::{ | |||
15 | }; | 15 | }; |
16 | use ide_db::{helpers::SnippetCap, RootDatabase, SymbolKind}; | 16 | use ide_db::{helpers::SnippetCap, RootDatabase, SymbolKind}; |
17 | use syntax::TextRange; | 17 | use syntax::TextRange; |
18 | use test_utils::mark; | ||
19 | 18 | ||
20 | use crate::{ | 19 | use crate::{ |
21 | item::ImportEdit, CompletionContext, CompletionItem, CompletionItemKind, CompletionKind, | 20 | item::ImportEdit, CompletionContext, CompletionItem, CompletionItemKind, CompletionKind, |
@@ -115,11 +114,11 @@ impl<'a> RenderContext<'a> { | |||
115 | 114 | ||
116 | fn active_name_and_type(&self) -> Option<(String, Type)> { | 115 | fn active_name_and_type(&self) -> Option<(String, Type)> { |
117 | if let Some(record_field) = &self.completion.record_field_syntax { | 116 | if let Some(record_field) = &self.completion.record_field_syntax { |
118 | mark::hit!(record_field_type_match); | 117 | cov_mark::hit!(record_field_type_match); |
119 | let (struct_field, _local) = self.completion.sema.resolve_record_field(record_field)?; | 118 | let (struct_field, _local) = self.completion.sema.resolve_record_field(record_field)?; |
120 | Some((struct_field.name(self.db()).to_string(), struct_field.signature_ty(self.db()))) | 119 | Some((struct_field.name(self.db()).to_string(), struct_field.signature_ty(self.db()))) |
121 | } else if let Some(active_parameter) = &self.completion.active_parameter { | 120 | } else if let Some(active_parameter) = &self.completion.active_parameter { |
122 | mark::hit!(active_param_type_match); | 121 | cov_mark::hit!(active_param_type_match); |
123 | Some((active_parameter.name.clone(), active_parameter.ty.clone())) | 122 | Some((active_parameter.name.clone(), active_parameter.ty.clone())) |
124 | } else { | 123 | } else { |
125 | None | 124 | None |
@@ -269,7 +268,7 @@ impl<'a> Render<'a> { | |||
269 | _ => false, | 268 | _ => false, |
270 | }; | 269 | }; |
271 | if has_non_default_type_params { | 270 | if has_non_default_type_params { |
272 | mark::hit!(inserts_angle_brackets_for_generics); | 271 | cov_mark::hit!(inserts_angle_brackets_for_generics); |
273 | item = item | 272 | item = item |
274 | .lookup_by(local_name.clone()) | 273 | .lookup_by(local_name.clone()) |
275 | .label(format!("{}<…>", local_name)) | 274 | .label(format!("{}<…>", local_name)) |
@@ -358,7 +357,6 @@ mod tests { | |||
358 | use std::cmp::Reverse; | 357 | use std::cmp::Reverse; |
359 | 358 | ||
360 | use expect_test::{expect, Expect}; | 359 | use expect_test::{expect, Expect}; |
361 | use test_utils::mark; | ||
362 | 360 | ||
363 | use crate::{ | 361 | use crate::{ |
364 | test_utils::{check_edit, do_completion, get_all_items, TEST_CONFIG}, | 362 | test_utils::{check_edit, do_completion, get_all_items, TEST_CONFIG}, |
@@ -734,7 +732,7 @@ fn foo(s: S) { s.$0 } | |||
734 | 732 | ||
735 | #[test] | 733 | #[test] |
736 | fn no_call_parens_if_fn_ptr_needed() { | 734 | fn no_call_parens_if_fn_ptr_needed() { |
737 | mark::check!(no_call_parens_if_fn_ptr_needed); | 735 | cov_mark::check!(no_call_parens_if_fn_ptr_needed); |
738 | check_edit( | 736 | check_edit( |
739 | "foo", | 737 | "foo", |
740 | r#" | 738 | r#" |
@@ -758,7 +756,7 @@ fn main() -> ManualVtable { | |||
758 | 756 | ||
759 | #[test] | 757 | #[test] |
760 | fn no_parens_in_use_item() { | 758 | fn no_parens_in_use_item() { |
761 | mark::check!(no_parens_in_use_item); | 759 | cov_mark::check!(no_parens_in_use_item); |
762 | check_edit( | 760 | check_edit( |
763 | "foo", | 761 | "foo", |
764 | r#" | 762 | r#" |
@@ -802,7 +800,7 @@ fn f(foo: &Foo) { foo.foo(); } | |||
802 | 800 | ||
803 | #[test] | 801 | #[test] |
804 | fn inserts_angle_brackets_for_generics() { | 802 | fn inserts_angle_brackets_for_generics() { |
805 | mark::check!(inserts_angle_brackets_for_generics); | 803 | cov_mark::check!(inserts_angle_brackets_for_generics); |
806 | check_edit( | 804 | check_edit( |
807 | "Vec", | 805 | "Vec", |
808 | r#" | 806 | r#" |
@@ -851,7 +849,7 @@ fn foo(xs: Vec<i128>) | |||
851 | 849 | ||
852 | #[test] | 850 | #[test] |
853 | fn active_param_score() { | 851 | fn active_param_score() { |
854 | mark::check!(active_param_type_match); | 852 | cov_mark::check!(active_param_type_match); |
855 | check_scores( | 853 | check_scores( |
856 | r#" | 854 | r#" |
857 | struct S { foo: i64, bar: u32, baz: u32 } | 855 | struct S { foo: i64, bar: u32, baz: u32 } |
@@ -868,7 +866,7 @@ fn foo(s: S) { test(s.$0) } | |||
868 | 866 | ||
869 | #[test] | 867 | #[test] |
870 | fn record_field_scores() { | 868 | fn record_field_scores() { |
871 | mark::check!(record_field_type_match); | 869 | cov_mark::check!(record_field_type_match); |
872 | check_scores( | 870 | check_scores( |
873 | r#" | 871 | r#" |
874 | struct A { foo: i64, bar: u32, baz: u32 } | 872 | struct A { foo: i64, bar: u32, baz: u32 } |
diff --git a/crates/ide_completion/src/render/builder_ext.rs b/crates/ide_completion/src/render/builder_ext.rs index d053a988b..95a7596c1 100644 --- a/crates/ide_completion/src/render/builder_ext.rs +++ b/crates/ide_completion/src/render/builder_ext.rs | |||
@@ -1,7 +1,6 @@ | |||
1 | //! Extensions for `Builder` structure required for item rendering. | 1 | //! Extensions for `Builder` structure required for item rendering. |
2 | 2 | ||
3 | use itertools::Itertools; | 3 | use itertools::Itertools; |
4 | use test_utils::mark; | ||
5 | 4 | ||
6 | use crate::{item::Builder, CompletionContext}; | 5 | use crate::{item::Builder, CompletionContext}; |
7 | 6 | ||
@@ -30,7 +29,7 @@ impl Builder { | |||
30 | return false; | 29 | return false; |
31 | } | 30 | } |
32 | if ctx.use_item_syntax.is_some() { | 31 | if ctx.use_item_syntax.is_some() { |
33 | mark::hit!(no_parens_in_use_item); | 32 | cov_mark::hit!(no_parens_in_use_item); |
34 | return false; | 33 | return false; |
35 | } | 34 | } |
36 | if ctx.is_pattern_call { | 35 | if ctx.is_pattern_call { |
@@ -43,7 +42,7 @@ impl Builder { | |||
43 | // Don't add parentheses if the expected type is some function reference. | 42 | // Don't add parentheses if the expected type is some function reference. |
44 | if let Some(ty) = &ctx.expected_type { | 43 | if let Some(ty) = &ctx.expected_type { |
45 | if ty.is_fn() { | 44 | if ty.is_fn() { |
46 | mark::hit!(no_call_parens_if_fn_ptr_needed); | 45 | cov_mark::hit!(no_call_parens_if_fn_ptr_needed); |
47 | return false; | 46 | return false; |
48 | } | 47 | } |
49 | } | 48 | } |
@@ -67,7 +66,7 @@ impl Builder { | |||
67 | None => return self, | 66 | None => return self, |
68 | }; | 67 | }; |
69 | // If not an import, add parenthesis automatically. | 68 | // If not an import, add parenthesis automatically. |
70 | mark::hit!(inserts_parens_for_function_calls); | 69 | cov_mark::hit!(inserts_parens_for_function_calls); |
71 | 70 | ||
72 | let (snippet, label) = if params.is_empty() { | 71 | let (snippet, label) = if params.is_empty() { |
73 | (format!("{}()$0", name), format!("{}()", name)) | 72 | (format!("{}()$0", name), format!("{}()", name)) |
@@ -82,7 +81,7 @@ impl Builder { | |||
82 | format!("{}({})$0", name, function_params_snippet) | 81 | format!("{}({})$0", name, function_params_snippet) |
83 | } | 82 | } |
84 | _ => { | 83 | _ => { |
85 | mark::hit!(suppress_arg_snippets); | 84 | cov_mark::hit!(suppress_arg_snippets); |
86 | format!("{}($0)", name) | 85 | format!("{}($0)", name) |
87 | } | 86 | } |
88 | }; | 87 | }; |
diff --git a/crates/ide_completion/src/render/enum_variant.rs b/crates/ide_completion/src/render/enum_variant.rs index 9214193b4..ed055c1fb 100644 --- a/crates/ide_completion/src/render/enum_variant.rs +++ b/crates/ide_completion/src/render/enum_variant.rs | |||
@@ -3,7 +3,6 @@ | |||
3 | use hir::{HasAttrs, HirDisplay, ModPath, StructKind}; | 3 | use hir::{HasAttrs, HirDisplay, ModPath, StructKind}; |
4 | use ide_db::SymbolKind; | 4 | use ide_db::SymbolKind; |
5 | use itertools::Itertools; | 5 | use itertools::Itertools; |
6 | use test_utils::mark; | ||
7 | 6 | ||
8 | use crate::{ | 7 | use crate::{ |
9 | item::{CompletionItem, CompletionKind, ImportEdit}, | 8 | item::{CompletionItem, CompletionKind, ImportEdit}, |
@@ -68,7 +67,7 @@ impl<'a> EnumRender<'a> { | |||
68 | .detail(self.detail()); | 67 | .detail(self.detail()); |
69 | 68 | ||
70 | if self.variant_kind == StructKind::Tuple { | 69 | if self.variant_kind == StructKind::Tuple { |
71 | mark::hit!(inserts_parens_for_tuple_enums); | 70 | cov_mark::hit!(inserts_parens_for_tuple_enums); |
72 | let params = Params::Anonymous(self.variant.fields(self.ctx.db()).len()); | 71 | let params = Params::Anonymous(self.variant.fields(self.ctx.db()).len()); |
73 | builder = | 72 | builder = |
74 | builder.add_call_parens(self.ctx.completion, self.short_qualified_name, params); | 73 | builder.add_call_parens(self.ctx.completion, self.short_qualified_name, params); |
@@ -103,13 +102,11 @@ impl<'a> EnumRender<'a> { | |||
103 | 102 | ||
104 | #[cfg(test)] | 103 | #[cfg(test)] |
105 | mod tests { | 104 | mod tests { |
106 | use test_utils::mark; | ||
107 | |||
108 | use crate::test_utils::check_edit; | 105 | use crate::test_utils::check_edit; |
109 | 106 | ||
110 | #[test] | 107 | #[test] |
111 | fn inserts_parens_for_tuple_enums() { | 108 | fn inserts_parens_for_tuple_enums() { |
112 | mark::check!(inserts_parens_for_tuple_enums); | 109 | cov_mark::check!(inserts_parens_for_tuple_enums); |
113 | check_edit( | 110 | check_edit( |
114 | "Some", | 111 | "Some", |
115 | r#" | 112 | r#" |
diff --git a/crates/ide_completion/src/render/function.rs b/crates/ide_completion/src/render/function.rs index e46e21d24..5931945a8 100644 --- a/crates/ide_completion/src/render/function.rs +++ b/crates/ide_completion/src/render/function.rs | |||
@@ -3,7 +3,6 @@ | |||
3 | use hir::{HasSource, HirDisplay, Type}; | 3 | use hir::{HasSource, HirDisplay, Type}; |
4 | use ide_db::SymbolKind; | 4 | use ide_db::SymbolKind; |
5 | use syntax::ast::Fn; | 5 | use syntax::ast::Fn; |
6 | use test_utils::mark; | ||
7 | 6 | ||
8 | use crate::{ | 7 | use crate::{ |
9 | item::{CompletionItem, CompletionItemKind, CompletionKind, ImportEdit}, | 8 | item::{CompletionItem, CompletionItemKind, CompletionKind, ImportEdit}, |
@@ -82,7 +81,7 @@ impl<'a> FunctionRender<'a> { | |||
82 | self.func.method_params(self.ctx.db()).unwrap_or_default() | 81 | self.func.method_params(self.ctx.db()).unwrap_or_default() |
83 | } else { | 82 | } else { |
84 | if let Some(s) = ast_params.self_param() { | 83 | if let Some(s) = ast_params.self_param() { |
85 | mark::hit!(parens_for_method_call_as_assoc_fn); | 84 | cov_mark::hit!(parens_for_method_call_as_assoc_fn); |
86 | params_pats.push(Some(s.to_string())); | 85 | params_pats.push(Some(s.to_string())); |
87 | } | 86 | } |
88 | self.func.assoc_fn_params(self.ctx.db()) | 87 | self.func.assoc_fn_params(self.ctx.db()) |
@@ -114,8 +113,6 @@ impl<'a> FunctionRender<'a> { | |||
114 | 113 | ||
115 | #[cfg(test)] | 114 | #[cfg(test)] |
116 | mod tests { | 115 | mod tests { |
117 | use test_utils::mark; | ||
118 | |||
119 | use crate::{ | 116 | use crate::{ |
120 | test_utils::{check_edit, check_edit_with_config, TEST_CONFIG}, | 117 | test_utils::{check_edit, check_edit_with_config, TEST_CONFIG}, |
121 | CompletionConfig, | 118 | CompletionConfig, |
@@ -123,7 +120,7 @@ mod tests { | |||
123 | 120 | ||
124 | #[test] | 121 | #[test] |
125 | fn inserts_parens_for_function_calls() { | 122 | fn inserts_parens_for_function_calls() { |
126 | mark::check!(inserts_parens_for_function_calls); | 123 | cov_mark::check!(inserts_parens_for_function_calls); |
127 | check_edit( | 124 | check_edit( |
128 | "no_args", | 125 | "no_args", |
129 | r#" | 126 | r#" |
@@ -191,7 +188,7 @@ fn bar(s: &S) { | |||
191 | 188 | ||
192 | #[test] | 189 | #[test] |
193 | fn parens_for_method_call_as_assoc_fn() { | 190 | fn parens_for_method_call_as_assoc_fn() { |
194 | mark::check!(parens_for_method_call_as_assoc_fn); | 191 | cov_mark::check!(parens_for_method_call_as_assoc_fn); |
195 | check_edit( | 192 | check_edit( |
196 | "foo", | 193 | "foo", |
197 | r#" | 194 | r#" |
@@ -213,7 +210,7 @@ fn main() { S::foo(${1:&self})$0 } | |||
213 | 210 | ||
214 | #[test] | 211 | #[test] |
215 | fn suppress_arg_snippets() { | 212 | fn suppress_arg_snippets() { |
216 | mark::check!(suppress_arg_snippets); | 213 | cov_mark::check!(suppress_arg_snippets); |
217 | check_edit_with_config( | 214 | check_edit_with_config( |
218 | CompletionConfig { add_call_argument_snippets: false, ..TEST_CONFIG }, | 215 | CompletionConfig { add_call_argument_snippets: false, ..TEST_CONFIG }, |
219 | "with_args", | 216 | "with_args", |
diff --git a/crates/ide_completion/src/render/macro_.rs b/crates/ide_completion/src/render/macro_.rs index a4535786f..a6cf3e479 100644 --- a/crates/ide_completion/src/render/macro_.rs +++ b/crates/ide_completion/src/render/macro_.rs | |||
@@ -3,7 +3,6 @@ | |||
3 | use hir::{Documentation, HasSource}; | 3 | use hir::{Documentation, HasSource}; |
4 | use ide_db::SymbolKind; | 4 | use ide_db::SymbolKind; |
5 | use syntax::display::macro_label; | 5 | use syntax::display::macro_label; |
6 | use test_utils::mark; | ||
7 | 6 | ||
8 | use crate::{ | 7 | use crate::{ |
9 | item::{CompletionItem, CompletionKind, ImportEdit}, | 8 | item::{CompletionItem, CompletionKind, ImportEdit}, |
@@ -57,7 +56,7 @@ impl<'a> MacroRender<'a> { | |||
57 | } | 56 | } |
58 | None if needs_bang => builder.insert_text(self.banged_name()), | 57 | None if needs_bang => builder.insert_text(self.banged_name()), |
59 | _ => { | 58 | _ => { |
60 | mark::hit!(dont_insert_macro_call_parens_unncessary); | 59 | cov_mark::hit!(dont_insert_macro_call_parens_unncessary); |
61 | builder.insert_text(&self.name) | 60 | builder.insert_text(&self.name) |
62 | } | 61 | } |
63 | }; | 62 | }; |
@@ -125,13 +124,11 @@ fn guess_macro_braces(macro_name: &str, docs: &str) -> (&'static str, &'static s | |||
125 | 124 | ||
126 | #[cfg(test)] | 125 | #[cfg(test)] |
127 | mod tests { | 126 | mod tests { |
128 | use test_utils::mark; | ||
129 | |||
130 | use crate::test_utils::check_edit; | 127 | use crate::test_utils::check_edit; |
131 | 128 | ||
132 | #[test] | 129 | #[test] |
133 | fn dont_insert_macro_call_parens_unncessary() { | 130 | fn dont_insert_macro_call_parens_unncessary() { |
134 | mark::check!(dont_insert_macro_call_parens_unncessary); | 131 | cov_mark::check!(dont_insert_macro_call_parens_unncessary); |
135 | check_edit( | 132 | check_edit( |
136 | "frobnicate!", | 133 | "frobnicate!", |
137 | r#" | 134 | r#" |