diff options
Diffstat (limited to 'crates/ra_ssr/src/tests.rs')
-rw-r--r-- | crates/ra_ssr/src/tests.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/crates/ra_ssr/src/tests.rs b/crates/ra_ssr/src/tests.rs index 33742dc8e..f564c6129 100644 --- a/crates/ra_ssr/src/tests.rs +++ b/crates/ra_ssr/src/tests.rs | |||
@@ -804,3 +804,26 @@ fn overlapping_possible_matches() { | |||
804 | &["foo(foo(42))", "foo(foo(foo(foo(42))))"], | 804 | &["foo(foo(42))", "foo(foo(foo(foo(42))))"], |
805 | ); | 805 | ); |
806 | } | 806 | } |
807 | |||
808 | #[test] | ||
809 | fn use_declaration_with_braces() { | ||
810 | // It would be OK for a path rule to match and alter a use declaration. We shouldn't mess it up | ||
811 | // though. In particular, we must not change `use foo::{baz, bar}` to `use foo::{baz, | ||
812 | // foo2::bar2}`. | ||
813 | mark::check!(use_declaration_with_braces); | ||
814 | assert_ssr_transform( | ||
815 | "foo::bar ==>> foo2::bar2", | ||
816 | r#" | ||
817 | mod foo { pub fn bar() {} pub fn baz() {} } | ||
818 | mod foo2 { pub fn bar2() {} } | ||
819 | use foo::{baz, bar}; | ||
820 | fn main() { bar() } | ||
821 | "#, | ||
822 | expect![[" | ||
823 | mod foo { pub fn bar() {} pub fn baz() {} } | ||
824 | mod foo2 { pub fn bar2() {} } | ||
825 | use foo::{baz, bar}; | ||
826 | fn main() { foo2::bar2() } | ||
827 | "]], | ||
828 | ) | ||
829 | } | ||