Add a more complete test of rustdoc macro_rules matcher rendering

This commit is contained in:
David Tolnay 2022-01-18 11:19:43 -08:00
parent f562b24830
commit 039a058306
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82
2 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,15 @@
macro_rules! morestuff {
(
<= "space between most kinds of tokens" : 1 $x + @ :: >>= 'static
"no space inside paren or bracket" : (2 a) [2 a] $(2 $a:tt)*
"space inside curly brace" : { 2 a }
"no space inside empty delimiters" : () [] {}
"no space before comma or semicolon" : a, (a), { a }, a; [T; 0];
"the three repetition specifiers" : $(@)*, $(@)+, $(@)?
"repetition separators" : $(@)|*, $(@)|+, $(@)==*, $(@)static*
"plus or star cannot be a repetition separator" : $(@)+ * $(@)* +
"no space between ident and paren" : let _ = f(0) + f[0] + Struct {};
"space between keyword and paren" : return (a,) & for x in (..)
"some special case keywords" : pub(crate), fn() -> u8, Self(0, 0) =>
) => { ... };
}

View File

@ -22,3 +22,18 @@ make_macro!(groups fn {}() {foo[0]});
// @snapshot macro_linebreak_pre macro_generated_macro/macro.linebreak.html //pre/text()
make_macro!(linebreak 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28);
// @snapshot macro_morestuff_pre macro_generated_macro/macro.morestuff.html //pre/text()
make_macro!(morestuff
"space between most kinds of tokens": 1 $x + @ :: >>= 'static
"no space inside paren or bracket": (2 a) [2 a] $(2 $a:tt)*
"space inside curly brace": { 2 a }
"no space inside empty delimiters": () [] {}
"no space before comma or semicolon": a, (a), { a }, a; [T; 0];
"the three repetition specifiers": $(@)*, $(@)+, $(@)?
"repetition separators": $(@)|*, $(@)|+, $(@)==*, $(@)static*
"plus or star cannot be a repetition separator": $(@)+ * $(@)* +
"no space between ident and paren": let _ = f(0) + f[0] + Struct {};
"space between keyword and paren": return (a,) & for x in (..)
"some special case keywords": pub(crate), fn() -> u8, Self(0, 0)
);