@@ -2,7 +2,7 @@ use proc_macro2::TokenStream;
2
2
use quote:: { quote, ToTokens } ;
3
3
use syn:: { parse_str, spanned:: Spanned , Attribute , Ident , ItemFn , PatType } ;
4
4
5
- use super :: { utils :: strip_args , options :: Options } ;
5
+ use super :: { options :: Options , utils :: strip_args } ;
6
6
7
7
mod test_body;
8
8
@@ -27,7 +27,6 @@ pub(super) fn generate(item_fn: ItemFn, options: Options) -> TokenStream {
27
27
#arb_tokens
28
28
} ;
29
29
30
-
31
30
let new_body = test_body:: body (
32
31
* argless_fn. block ,
33
32
& args,
@@ -38,7 +37,6 @@ pub(super) fn generate(item_fn: ItemFn, options: Options) -> TokenStream {
38
37
) ;
39
38
40
39
* argless_fn. block = new_body;
41
-
42
40
argless_fn. attrs . push ( test_attr ( ) ) ;
43
41
44
42
argless_fn. to_token_stream ( )
@@ -203,3 +201,31 @@ mod tests {
203
201
assert_eq ! ( arb. to_string( ) , expected. to_string( ) ) ;
204
202
}
205
203
}
204
+
205
+ #[ cfg( test) ]
206
+ mod snapshot_tests {
207
+ use super :: * ;
208
+
209
+ macro_rules! snapshot_test {
210
+ ( $name: ident) => {
211
+ #[ test]
212
+ fn $name( ) {
213
+ const TEXT : & str = include_str!( concat!(
214
+ "test_data/" ,
215
+ stringify!( $name) ,
216
+ ".rs"
217
+ ) ) ;
218
+
219
+ let tokens = generate(
220
+ parse_str( TEXT ) . unwrap( ) ,
221
+ $crate:: property_test:: options:: Options :: default ( ) ,
222
+ ) ;
223
+ insta:: assert_debug_snapshot!( tokens) ;
224
+ }
225
+ } ;
226
+ }
227
+
228
+ snapshot_test ! ( simple) ;
229
+ snapshot_test ! ( many_params) ;
230
+ snapshot_test ! ( arg_pattern) ;
231
+ }
0 commit comments