Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_completion/src/tests/attribute.rs')
| -rw-r--r-- | crates/ide_completion/src/tests/attribute.rs | 91 |
1 files changed, 60 insertions, 31 deletions
diff --git a/crates/ide_completion/src/tests/attribute.rs b/crates/ide_completion/src/tests/attribute.rs index ae7ba7e055..4ee95e8928 100644 --- a/crates/ide_completion/src/tests/attribute.rs +++ b/crates/ide_completion/src/tests/attribute.rs @@ -62,7 +62,7 @@ fn proc_macros_qualified() { struct Foo; "#, expect![[r#" - at identity pub macro identity + at identity proc_macro identity "#]], ) } @@ -302,7 +302,7 @@ struct Foo; "#, expect![[r#" md core - at derive pub macro derive + at derive macro derive kw self:: kw super:: kw crate:: @@ -688,13 +688,17 @@ mod derive { #[derive($0)] struct Test; "#, expect![[r#" - de Default + md core + de Default macro Default de Clone, Copy - de PartialEq + de PartialEq macro PartialEq de PartialEq, Eq de PartialEq, Eq, PartialOrd, Ord - de Clone + de Clone macro Clone de PartialEq, PartialOrd + kw self:: + kw super:: + kw crate:: "#]], ); } @@ -707,12 +711,16 @@ mod derive { #[derive(serde::Serialize, PartialEq, $0)] struct Test; "#, expect![[r#" - de Default + md core + de Default macro Default de Clone, Copy de Eq de Eq, PartialOrd, Ord - de Clone + de Clone macro Clone de PartialOrd + kw self:: + kw super:: + kw crate:: "#]], ) } @@ -725,33 +733,17 @@ mod derive { #[derive($0 serde::Serialize, PartialEq)] struct Test; "#, expect![[r#" - de Default + md core + de Default macro Default de Clone, Copy de Eq de Eq, PartialOrd, Ord - de Clone + de Clone macro Clone de PartialOrd + kw self:: + kw super:: + kw crate:: "#]], - ) - } - - #[test] - fn derive_no_attrs() { - check_derive( - r#" -//- proc_macros: identity -//- minicore: derive -#[derive($0)] struct Test; -"#, - expect![[r#""#]], - ); - check_derive( - r#" -//- proc_macros: identity -//- minicore: derive -#[derive(i$0)] struct Test; -"#, - expect![[r#""#]], ); } @@ -760,20 +752,32 @@ mod derive { check_derive( r#" //- proc_macros: derive_identity +//- minicore: derive #[derive(der$0)] struct Test; "#, expect![[r#" - de DeriveIdentity (use proc_macros::DeriveIdentity) + md proc_macros + md core + kw self:: + kw super:: + kw crate:: + de DeriveIdentity (use proc_macros::DeriveIdentity) proc_macro DeriveIdentity "#]], ); check_derive( r#" //- proc_macros: derive_identity +//- minicore: derive use proc_macros::DeriveIdentity; #[derive(der$0)] struct Test; "#, expect![[r#" - de DeriveIdentity + de DeriveIdentity proc_macro DeriveIdentity + md proc_macros + md core + kw self:: + kw super:: + kw crate:: "#]], ); } @@ -784,6 +788,7 @@ use proc_macros::DeriveIdentity; "DeriveIdentity", r#" //- proc_macros: derive_identity +//- minicore: derive #[derive(der$0)] struct Test; "#, r#" @@ -793,6 +798,30 @@ use proc_macros::DeriveIdentity; "#, ); } + + #[test] + fn qualified() { + check_derive( + r#" +//- proc_macros: derive_identity +//- minicore: derive, copy, clone +#[derive(proc_macros::$0)] struct Test; +"#, + expect![[r#" + de DeriveIdentity proc_macro DeriveIdentity + "#]], + ); + check_derive( + r#" +//- proc_macros: derive_identity +//- minicore: derive, copy, clone +#[derive(proc_macros::C$0)] struct Test; +"#, + expect![[r#" + de DeriveIdentity proc_macro DeriveIdentity + "#]], + ); + } } mod lint { |