@@ -11,7 +11,7 @@ fn main() {
1111assert_eq!(2+2, 4);
1212}"
1313 . to_string ( ) ;
14- let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION ) ;
14+ let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION , None ) ;
1515 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
1616}
1717
@@ -26,7 +26,7 @@ fn main() {
2626assert_eq!(2+2, 4);
2727}"
2828 . to_string ( ) ;
29- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
29+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
3030 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
3131}
3232
@@ -44,7 +44,7 @@ use asdf::qwop;
4444assert_eq!(2+2, 4);
4545}"
4646 . to_string ( ) ;
47- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
47+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
4848 assert_eq ! ( ( output, len) , ( expected, 3 ) ) ;
4949}
5050
@@ -61,7 +61,7 @@ use asdf::qwop;
6161assert_eq!(2+2, 4);
6262}"
6363 . to_string ( ) ;
64- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
64+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
6565 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
6666}
6767
@@ -79,7 +79,7 @@ use std::*;
7979assert_eq!(2+2, 4);
8080}"
8181 . to_string ( ) ;
82- let ( output, len, _) = make_test ( input, Some ( "std" ) , false , & opts, DEFAULT_EDITION ) ;
82+ let ( output, len, _) = make_test ( input, Some ( "std" ) , false , & opts, DEFAULT_EDITION , None ) ;
8383 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
8484}
8585
@@ -98,7 +98,7 @@ use asdf::qwop;
9898assert_eq!(2+2, 4);
9999}"
100100 . to_string ( ) ;
101- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
101+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
102102 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
103103}
104104
@@ -115,7 +115,7 @@ use asdf::qwop;
115115assert_eq!(2+2, 4);
116116}"
117117 . to_string ( ) ;
118- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
118+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
119119 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
120120}
121121
@@ -134,7 +134,7 @@ use asdf::qwop;
134134assert_eq!(2+2, 4);
135135}"
136136 . to_string ( ) ;
137- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
137+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
138138 assert_eq ! ( ( output, len) , ( expected, 3 ) ) ;
139139
140140 // Adding more will also bump the returned line offset.
@@ -147,7 +147,7 @@ use asdf::qwop;
147147assert_eq!(2+2, 4);
148148}"
149149 . to_string ( ) ;
150- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
150+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
151151 assert_eq ! ( ( output, len) , ( expected, 4 ) ) ;
152152}
153153
@@ -164,7 +164,7 @@ fn main() {
164164assert_eq!(2+2, 4);
165165}"
166166 . to_string ( ) ;
167- let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION ) ;
167+ let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION , None ) ;
168168 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
169169}
170170
@@ -180,7 +180,7 @@ fn main() {
180180 assert_eq!(2+2, 4);
181181}"
182182 . to_string ( ) ;
183- let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION ) ;
183+ let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION , None ) ;
184184 assert_eq ! ( ( output, len) , ( expected, 1 ) ) ;
185185}
186186
@@ -196,7 +196,7 @@ fn main() {
196196assert_eq!(2+2, 4);
197197}"
198198 . to_string ( ) ;
199- let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION ) ;
199+ let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION , None ) ;
200200 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
201201}
202202
@@ -210,7 +210,7 @@ assert_eq!(2+2, 4);";
210210//Ceci n'est pas une `fn main`
211211assert_eq!(2+2, 4);"
212212 . to_string ( ) ;
213- let ( output, len, _) = make_test ( input, None , true , & opts, DEFAULT_EDITION ) ;
213+ let ( output, len, _) = make_test ( input, None , true , & opts, DEFAULT_EDITION , None ) ;
214214 assert_eq ! ( ( output, len) , ( expected, 1 ) ) ;
215215}
216216
@@ -224,7 +224,7 @@ fn make_test_display_warnings() {
224224assert_eq!(2+2, 4);
225225}"
226226 . to_string ( ) ;
227- let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION ) ;
227+ let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION , None ) ;
228228 assert_eq ! ( ( output, len) , ( expected, 1 ) ) ;
229229}
230230
@@ -242,7 +242,7 @@ assert_eq!(2+2, 4);
242242}"
243243 . to_string ( ) ;
244244
245- let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION ) ;
245+ let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION , None ) ;
246246 assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
247247
248248 let input = "extern crate hella_qwop;
@@ -256,7 +256,7 @@ assert_eq!(asdf::foo, 4);
256256}"
257257 . to_string ( ) ;
258258
259- let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION ) ;
259+ let ( output, len, _) = make_test ( input, Some ( "asdf" ) , false , & opts, DEFAULT_EDITION , None ) ;
260260 assert_eq ! ( ( output, len) , ( expected, 3 ) ) ;
261261}
262262
@@ -274,6 +274,41 @@ test_wrapper! {
274274}"
275275 . to_string ( ) ;
276276
277- let ( output, len, _) = make_test ( input, Some ( "my_crate" ) , false , & opts, DEFAULT_EDITION ) ;
277+ let ( output, len, _) = make_test ( input, Some ( "my_crate" ) , false , & opts, DEFAULT_EDITION , None ) ;
278278 assert_eq ! ( ( output, len) , ( expected, 1 ) ) ;
279279}
280+
281+ #[ test]
282+ fn make_test_returns_result ( ) {
283+ // creates an inner function and unwraps it
284+ let opts = TestOptions :: default ( ) ;
285+ let input = "use std::io;
286+ let mut input = String::new();
287+ io::stdin().read_line(&mut input)?;
288+ Ok::<(), io:Error>(())" ;
289+ let expected = "#![allow(unused)]
290+ fn main() { fn _inner() -> Result<(), impl core::fmt::Debug> {
291+ use std::io;
292+ let mut input = String::new();
293+ io::stdin().read_line(&mut input)?;
294+ Ok::<(), io:Error>(())
295+ }; _inner().unwrap() }"
296+ . to_string ( ) ;
297+ let ( output, len, _) = make_test ( input, None , false , & opts, DEFAULT_EDITION , None ) ;
298+ assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
299+ }
300+
301+ #[ test]
302+ fn make_test_named_wrapper ( ) {
303+ // creates an inner function with a specific name
304+ let opts = TestOptions :: default ( ) ;
305+ let input = "assert_eq!(2+2, 4);" ;
306+ let expected = "#![allow(unused)]
307+ fn main() { #[allow(non_snake_case)] fn _doctest_main__some_unique_name() {
308+ assert_eq!(2+2, 4);
309+ }; _doctest_main__some_unique_name() }"
310+ . to_string ( ) ;
311+ let ( output, len, _) =
312+ make_test ( input, None , false , & opts, DEFAULT_EDITION , Some ( "_some_unique_name" ) ) ;
313+ assert_eq ! ( ( output, len) , ( expected, 2 ) ) ;
314+ }
0 commit comments