Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/tests/expression.rs')
| -rw-r--r-- | crates/ide-completion/src/tests/expression.rs | 193 |
1 files changed, 126 insertions, 67 deletions
diff --git a/crates/ide-completion/src/tests/expression.rs b/crates/ide-completion/src/tests/expression.rs index 9b3c676c48..b30ac43bf8 100644 --- a/crates/ide-completion/src/tests/expression.rs +++ b/crates/ide-completion/src/tests/expression.rs @@ -1,13 +1,13 @@ //! Completion tests for expressions. -use expect_test::{expect, Expect}; +use expect_test::{Expect, expect}; use crate::{ + CompletionConfig, config::AutoImportExclusionType, tests::{ - check, check_edit, check_with_base_items, completion_list_with_config, BASE_ITEMS_FIXTURE, - TEST_CONFIG, + BASE_ITEMS_FIXTURE, TEST_CONFIG, check, check_edit, check_with_base_items, + completion_list_with_config, }, - CompletionConfig, }; fn check_with_config( @@ -58,6 +58,7 @@ fn baz() { un Union Union ev TupleV(…) TupleV(u32) bt u32 u32 + kw const kw crate:: kw false kw for @@ -101,6 +102,7 @@ fn func(param0 @ (param1, param2): (i32, i32)) { lc param1 i32 lc param2 i32 bt u32 u32 + kw const kw crate:: kw false kw for @@ -169,6 +171,7 @@ impl Unit { kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -247,6 +250,7 @@ fn complete_in_block() { kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -298,6 +302,7 @@ fn complete_after_if_expr() { kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -335,6 +340,7 @@ fn complete_in_match_arm() { expect![[r#" fn foo() fn() bt u32 u32 + kw const kw crate:: kw false kw for @@ -372,6 +378,7 @@ fn completes_in_loop_ctx() { kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -400,6 +407,7 @@ fn completes_in_loop_ctx() { sn box Box::new(expr) sn break break expr sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -424,6 +432,7 @@ fn completes_in_let_initializer() { expect![[r#" fn main() fn() bt u32 u32 + kw const kw crate:: kw false kw for @@ -448,6 +457,7 @@ fn completes_after_ref_expr() { expect![[r#" fn main() fn() bt u32 u32 + kw const kw crate:: kw false kw for @@ -471,6 +481,7 @@ fn completes_after_ref_expr() { fn main() fn() bt u32 u32 kw const + kw const kw crate:: kw false kw for @@ -492,6 +503,7 @@ fn completes_after_ref_expr() { expect![[r#" fn main() fn() bt u32 u32 + kw const kw crate:: kw false kw for @@ -512,6 +524,7 @@ fn completes_after_ref_expr() { expect![[r#" fn main() fn() bt u32 u32 + kw const kw crate:: kw false kw for @@ -532,6 +545,7 @@ fn completes_after_ref_expr() { expect![[r#" fn main() fn() bt u32 u32 + kw const kw crate:: kw false kw for @@ -566,6 +580,7 @@ fn foo() { fn foo() fn() st Foo Foo bt u32 u32 + kw const kw crate:: kw false kw for @@ -601,6 +616,7 @@ fn foo() { fn foo() fn() lc bar i32 bt u32 u32 + kw const kw crate:: kw false kw for @@ -632,6 +648,7 @@ fn quux(x: i32) { lc x i32 ma m!(…) macro_rules! m bt u32 u32 + kw const kw crate:: kw false kw for @@ -659,6 +676,7 @@ fn quux(x: i32) { lc x i32 ma m!(…) macro_rules! m bt u32 u32 + kw const kw crate:: kw false kw for @@ -688,6 +706,7 @@ fn quux(x: i32) { lc y i32 ma m!(…) macro_rules! m bt u32 u32 + kw const kw crate:: kw false kw for @@ -870,6 +889,7 @@ fn brr() { st YoloVariant YoloVariant st YoloVariant {…} YoloVariant { f: usize } bt u32 u32 + kw const kw crate:: kw false kw for @@ -945,6 +965,7 @@ fn foo() { if foo {} $0 } kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -987,6 +1008,7 @@ fn foo() { if foo {} el$0 } kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -1016,6 +1038,7 @@ fn foo() { bar(if foo {} $0) } expect![[r#" fn foo() fn() bt u32 u32 + kw const kw crate:: kw else kw else if @@ -1040,6 +1063,7 @@ fn foo() { bar(if foo {} el$0) } expect![[r#" fn foo() fn() bt u32 u32 + kw const kw crate:: kw else kw else if @@ -1077,6 +1101,7 @@ fn foo() { if foo {} $0 let x = 92; } kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -1119,6 +1144,7 @@ fn foo() { if foo {} el$0 let x = 92; } kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -1161,6 +1187,7 @@ fn foo() { if foo {} el$0 { let x = 92; } } kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -1213,6 +1240,7 @@ pub struct UnstableThisShouldNotBeListed; kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -1267,6 +1295,7 @@ pub struct UnstableButWeAreOnNightlyAnyway; kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -1309,6 +1338,7 @@ fn main() { me foo() fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1335,6 +1365,7 @@ fn main() { me foo() fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1365,6 +1396,7 @@ fn main() { me foo() fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1391,6 +1423,7 @@ fn main() { me foo() fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1417,6 +1450,7 @@ fn main() { me foo() fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1442,6 +1476,7 @@ fn main() { expect![[r#" sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1505,6 +1540,7 @@ fn main() { kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -1531,7 +1567,10 @@ fn main() { #[test] fn excluded_trait_method_is_excluded() { check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" trait ExcludedTrait { fn foo(&self) {} @@ -1551,22 +1590,20 @@ fn foo() { } "#, expect![[r#" - me bar() (as ExcludedTrait) fn(&self) - me baz() (as ExcludedTrait) fn(&self) - me foo() (as ExcludedTrait) fn(&self) - me inherent() fn(&self) - sn box Box::new(expr) - sn call function(expr) - sn dbg dbg!(expr) - sn dbgr dbg!(&expr) - sn deref *expr - sn let let - sn letm let mut - sn match match expr {} - sn ref &expr - sn refm &mut expr - sn return return expr - sn unsafe unsafe {} + me inherent() fn(&self) + sn box Box::new(expr) + sn call function(expr) + sn const const {} + sn dbg dbg!(expr) + sn dbgr dbg!(&expr) + sn deref *expr + sn let let + sn letm let mut + sn match match expr {} + sn ref &expr + sn refm &mut expr + sn return return expr + sn unsafe unsafe {} "#]], ); } @@ -1574,7 +1611,10 @@ fn foo() { #[test] fn excluded_trait_not_excluded_when_inherent() { check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" trait ExcludedTrait { fn foo(&self) {} @@ -1594,6 +1634,7 @@ fn foo(v: &dyn ExcludedTrait) { me foo() (as ExcludedTrait) fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1607,7 +1648,10 @@ fn foo(v: &dyn ExcludedTrait) { "#]], ); check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" trait ExcludedTrait { fn foo(&self) {} @@ -1627,6 +1671,7 @@ fn foo(v: impl ExcludedTrait) { me foo() (as ExcludedTrait) fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1640,7 +1685,10 @@ fn foo(v: impl ExcludedTrait) { "#]], ); check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" trait ExcludedTrait { fn foo(&self) {} @@ -1660,6 +1708,7 @@ fn foo<T: ExcludedTrait>(v: T) { me foo() (as ExcludedTrait) fn(&self) sn box Box::new(expr) sn call function(expr) + sn const const {} sn dbg dbg!(expr) sn dbgr dbg!(&expr) sn deref *expr @@ -1678,7 +1727,7 @@ fn foo<T: ExcludedTrait>(v: T) { fn excluded_trait_method_is_excluded_from_flyimport() { check_with_config( CompletionConfig { - exclude_traits: &["test::module2::ExcludedTrait".to_owned()], + exclude_traits: &["ra_test_fixture::module2::ExcludedTrait".to_owned()], ..TEST_CONFIG }, r#" @@ -1702,22 +1751,20 @@ fn foo() { } "#, expect![[r#" - me bar() (use module2::ExcludedTrait) fn(&self) - me baz() (use module2::ExcludedTrait) fn(&self) - me foo() (use module2::ExcludedTrait) fn(&self) - me inherent() fn(&self) - sn box Box::new(expr) - sn call function(expr) - sn dbg dbg!(expr) - sn dbgr dbg!(&expr) - sn deref *expr - sn let let - sn letm let mut - sn match match expr {} - sn ref &expr - sn refm &mut expr - sn return return expr - sn unsafe unsafe {} + me inherent() fn(&self) + sn box Box::new(expr) + sn call function(expr) + sn const const {} + sn dbg dbg!(expr) + sn dbgr dbg!(&expr) + sn deref *expr + sn let let + sn letm let mut + sn match match expr {} + sn ref &expr + sn refm &mut expr + sn return return expr + sn unsafe unsafe {} "#]], ); } @@ -1727,7 +1774,7 @@ fn flyimport_excluded_trait_method_is_excluded_from_flyimport() { check_with_config( CompletionConfig { exclude_flyimport: vec![( - "test::module2::ExcludedTrait".to_owned(), + "ra_test_fixture::module2::ExcludedTrait".to_owned(), AutoImportExclusionType::Methods, )], ..TEST_CONFIG @@ -1753,22 +1800,20 @@ fn foo() { } "#, expect![[r#" - me bar() (use module2::ExcludedTrait) fn(&self) - me baz() (use module2::ExcludedTrait) fn(&self) - me foo() (use module2::ExcludedTrait) fn(&self) - me inherent() fn(&self) - sn box Box::new(expr) - sn call function(expr) - sn dbg dbg!(expr) - sn dbgr dbg!(&expr) - sn deref *expr - sn let let - sn letm let mut - sn match match expr {} - sn ref &expr - sn refm &mut expr - sn return return expr - sn unsafe unsafe {} + me inherent() fn(&self) + sn box Box::new(expr) + sn call function(expr) + sn const const {} + sn dbg dbg!(expr) + sn dbgr dbg!(&expr) + sn deref *expr + sn let let + sn letm let mut + sn match match expr {} + sn ref &expr + sn refm &mut expr + sn return return expr + sn unsafe unsafe {} "#]], ); } @@ -1776,7 +1821,10 @@ fn foo() { #[test] fn excluded_trait_method_is_excluded_from_path_completion() { check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" pub trait ExcludedTrait { fn foo(&self) {} @@ -1796,10 +1844,7 @@ fn foo() { } "#, expect![[r#" - me bar(…) (as ExcludedTrait) fn(&self) - me baz(…) (as ExcludedTrait) fn(&self) - me foo(…) (as ExcludedTrait) fn(&self) - me inherent(…) fn(&self) + me inherent(…) fn(&self) "#]], ); } @@ -1807,7 +1852,10 @@ fn foo() { #[test] fn excluded_trait_method_is_not_excluded_when_trait_is_specified() { check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" pub trait ExcludedTrait { fn foo(&self) {} @@ -1833,7 +1881,10 @@ fn foo() { "#]], ); check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" pub trait ExcludedTrait { fn foo(&self) {} @@ -1863,7 +1914,10 @@ fn foo() { #[test] fn excluded_trait_not_excluded_when_inherent_path() { check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" trait ExcludedTrait { fn foo(&self) {} @@ -1884,7 +1938,10 @@ fn foo() { "#]], ); check_with_config( - CompletionConfig { exclude_traits: &["test::ExcludedTrait".to_owned()], ..TEST_CONFIG }, + CompletionConfig { + exclude_traits: &["ra_test_fixture::ExcludedTrait".to_owned()], + ..TEST_CONFIG + }, r#" trait ExcludedTrait { fn foo(&self) {} @@ -1956,6 +2013,7 @@ fn bar() { kw if kw if let kw impl + kw impl for kw let kw letm kw loop @@ -2028,6 +2086,7 @@ fn foo() { kw if kw if let kw impl + kw impl for kw let kw letm kw loop |