move test

This commit is contained in:
Aleksey Kladov 2021-10-09 16:22:42 +03:00
parent b21244e080
commit 574df660e4
3 changed files with 27 additions and 22 deletions

View File

@ -102,6 +102,7 @@ fn pretty_print_macro_expansion(expn: SyntaxNode) -> String {
let space = match (prev_kind, curr_kind) { let space = match (prev_kind, curr_kind) {
_ if prev_kind.is_trivia() || curr_kind.is_trivia() => "", _ if prev_kind.is_trivia() || curr_kind.is_trivia() => "",
(T![=], _) | (_, T![=]) => " ", (T![=], _) | (_, T![=]) => " ",
(_, T!['{']) => " ",
(T![;], _) => "\n", (T![;], _) => "\n",
(IDENT | LIFETIME_IDENT, IDENT | LIFETIME_IDENT) => " ", (IDENT | LIFETIME_IDENT, IDENT | LIFETIME_IDENT) => " ",
(IDENT, _) if curr_kind.is_keyword() => " ", (IDENT, _) if curr_kind.is_keyword() => " ",

View File

@ -46,3 +46,29 @@ macro_rules! m {
"#]], "#]],
); );
} }
#[test]
fn tries_all_branches_matching_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;
"#]],
)
}

View File

@ -209,28 +209,6 @@ fn test_expr_order() {
); );
} }
#[test]
fn test_fail_match_pattern_by_first_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] #[test]
fn test_fail_match_pattern_by_last_token() { fn test_fail_match_pattern_by_last_token() {
parse_macro( parse_macro(