about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--crates/hir_def/src/macro_expansion_tests/mbe.rs30
-rw-r--r--crates/mbe/src/tests/expand.rs22
2 files changed, 28 insertions, 24 deletions
diff --git a/crates/hir_def/src/macro_expansion_tests/mbe.rs b/crates/hir_def/src/macro_expansion_tests/mbe.rs
index 1e3d554b83a..09688e16b63 100644
--- a/crates/hir_def/src/macro_expansion_tests/mbe.rs
+++ b/crates/hir_def/src/macro_expansion_tests/mbe.rs
@@ -48,7 +48,7 @@ macro_rules! m {
 }
 
 #[test]
-fn tries_all_branches_matching_token_literally() {
+fn tries_all_branches_matching_first_token_literally() {
     check(
         r#"
 macro_rules! m {
@@ -70,5 +70,31 @@ mod foo {}
 fn bar() {}
 struct Baz;
 "#]],
-    )
+    );
+}
+
+#[test]
+fn tries_all_branches_matching_last_token_literally() {
+    check(
+        r#"
+macro_rules! m {
+    ($ i:ident) => ( mod $ i {} );
+    ($ i:ident =) => ( fn $ i() {} );
+    ($ i:ident +) => ( struct $ i; )
+}
+m! { foo }
+m! { bar = }
+m! { Baz + }
+"#,
+        expect![[r#"
+macro_rules! m {
+    ($ i:ident) => ( mod $ i {} );
+    ($ i:ident =) => ( fn $ i() {} );
+    ($ i:ident +) => ( struct $ i; )
+}
+mod foo {}
+fn bar() {}
+struct Baz;
+"#]],
+    );
 }
diff --git a/crates/mbe/src/tests/expand.rs b/crates/mbe/src/tests/expand.rs
index 48143f0a60b..f746eb5a1a6 100644
--- a/crates/mbe/src/tests/expand.rs
+++ b/crates/mbe/src/tests/expand.rs
@@ -210,28 +210,6 @@ fn test_expr_order() {
 }
 
 #[test]
-fn test_fail_match_pattern_by_last_token() {
-    parse_macro(
-        r#"
-        macro_rules! foo {
-            ($ i:ident) => (
-                mod $ i {}
-            );
-            ($ i:ident =) => (
-                fn $ i() {}
-            );
-            ($ i:ident +) => (
-                struct $ i;
-            )
-        }
-"#,
-    )
-    .assert_expand_items("foo! { foo }", "mod foo {}")
-    .assert_expand_items("foo! { bar = }", "fn bar () {}")
-    .assert_expand_items("foo! { Baz + }", "struct Baz ;");
-}
-
-#[test]
 fn test_fail_match_pattern_by_word_token() {
     parse_macro(
         r#"