diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-10-09 16:27:19 +0300 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-10-09 16:27:19 +0300 |
| commit | 75b0ce17cfa57daff824fcc2b99b3aaba66866a7 (patch) | |
| tree | 6d00327d874735ef87498169ea43f2971e77201e | |
| parent | 0dd1b354795500b34bd4f6a76ef1e364c7b1e5c8 (diff) | |
| download | rust-75b0ce17cfa57daff824fcc2b99b3aaba66866a7.tar.gz rust-75b0ce17cfa57daff824fcc2b99b3aaba66866a7.zip | |
move test
| -rw-r--r-- | crates/hir_def/src/macro_expansion_tests/mbe.rs | 26 | ||||
| -rw-r--r-- | crates/mbe/src/tests/expand.rs | 22 |
2 files changed, 26 insertions, 22 deletions
diff --git a/crates/hir_def/src/macro_expansion_tests/mbe.rs b/crates/hir_def/src/macro_expansion_tests/mbe.rs index 09688e16b63..32ecd7a4ea2 100644 --- a/crates/hir_def/src/macro_expansion_tests/mbe.rs +++ b/crates/hir_def/src/macro_expansion_tests/mbe.rs @@ -98,3 +98,29 @@ struct Baz; "#]], ); } + +#[test] +fn tries_all_branches_matching_ident() { + check( + r#" +macro_rules! m { + ($ i:ident) => ( mod $ i {} ); + (spam $ i:ident) => ( fn $ i() {} ); + (eggs $ i:ident) => ( struct $ i; ) +} +m! { foo } +m! { spam bar } +m! { eggs Baz } +"#, + expect![[r#" +macro_rules! m { + ($ i:ident) => ( mod $ i {} ); + (spam $ i:ident) => ( fn $ i() {} ); + (eggs $ 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 f746eb5a1a6..33bdcbf0f8d 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_word_token() { - parse_macro( - r#" - macro_rules! foo { - ($ i:ident) => ( - mod $ i {} - ); - (spam $ i:ident) => ( - fn $ i() {} - ); - (eggs $ i:ident) => ( - struct $ i; - ) - } -"#, - ) - .assert_expand_items("foo! { foo }", "mod foo {}") - .assert_expand_items("foo! { spam bar }", "fn bar () {}") - .assert_expand_items("foo! { eggs Baz }", "struct Baz ;"); -} - -#[test] fn test_match_group_pattern_by_separator_token() { parse_macro( r#" |
