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.rs84
1 files changed, 84 insertions, 0 deletions
diff --git a/crates/ide-completion/src/tests/attribute.rs b/crates/ide-completion/src/tests/attribute.rs
index 46a3630045..1d2a9c7c8d 100644
--- a/crates/ide-completion/src/tests/attribute.rs
+++ b/crates/ide-completion/src/tests/attribute.rs
@@ -815,7 +815,10 @@ mod cfg {
#[cfg($0)]
"#,
expect![[r#"
+ ba all
+ ba any
ba dbg
+ ba not
ba opt_level
ba test
ba true
@@ -827,7 +830,74 @@ mod cfg {
#[cfg(b$0)]
"#,
expect![[r#"
+ ba all
+ ba any
ba dbg
+ ba not
+ ba opt_level
+ ba test
+ ba true
+ "#]],
+ );
+ }
+
+ #[test]
+ fn inside_cfg_attr() {
+ check(
+ r#"
+//- /main.rs cfg:test,dbg=false,opt_level=2
+#[cfg_attr($0)]
+"#,
+ expect![[r#"
+ ba all
+ ba any
+ ba dbg
+ ba not
+ ba opt_level
+ ba test
+ ba true
+ "#]],
+ );
+ check(
+ r#"
+//- /main.rs cfg:test,dbg=false,opt_level=2
+#[cfg_attr(b$0)]
+"#,
+ expect![[r#"
+ ba all
+ ba any
+ ba dbg
+ ba not
+ ba opt_level
+ ba test
+ ba true
+ "#]],
+ );
+ check(
+ r#"
+//- /main.rs cfg:test,dbg=false,opt_level=2
+#[cfg_attr($0, allow(deprecated))]
+"#,
+ expect![[r#"
+ ba all
+ ba any
+ ba dbg
+ ba not
+ ba opt_level
+ ba test
+ ba true
+ "#]],
+ );
+ check(
+ r#"
+//- /main.rs cfg:test,dbg=false,opt_level=2
+#[cfg_attr(b$0, allow(deprecated))]
+"#,
+ expect![[r#"
+ ba all
+ ba any
+ ba dbg
+ ba not
ba opt_level
ba test
ba true
@@ -852,6 +922,20 @@ mod cfg {
"#]],
);
}
+
+ #[test]
+ fn inside_conditional() {
+ check_edit(
+ "all",
+ r#"
+//- /main.rs cfg:test,dbg=false,opt_level=2
+#[cfg($0)]
+"#,
+ r#"
+#[cfg(all($0))]
+"#,
+ );
+ }
}
mod derive {