mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
move test
This commit is contained in:
parent
b21244e080
commit
574df660e4
@ -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() => " ",
|
||||||
|
@ -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;
|
||||||
|
"#]],
|
||||||
|
)
|
||||||
|
}
|
||||||
|
@ -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(
|
||||||
|
Loading…
Reference in New Issue
Block a user