]>
Commit | Line | Data |
---|---|---|
416331ca XL |
1 | use super::*; |
2 | ||
3 | use crate::ast; | |
4 | use crate::source_map; | |
5 | use crate::with_default_globals; | |
6 | use syntax_pos; | |
7 | ||
8 | fn fun_to_string( | |
9 | decl: &ast::FnDecl, header: ast::FnHeader, name: ast::Ident, generics: &ast::Generics | |
10 | ) -> String { | |
11 | to_string(|s| { | |
12 | s.head(""); | |
13 | s.print_fn(decl, header, Some(name), | |
14 | generics, &source_map::dummy_spanned(ast::VisibilityKind::Inherited)); | |
15 | s.end(); // Close the head box | |
16 | s.end(); // Close the outer box | |
17 | }) | |
18 | } | |
19 | ||
20 | fn variant_to_string(var: &ast::Variant) -> String { | |
21 | to_string(|s| s.print_variant(var)) | |
22 | } | |
23 | ||
24 | #[test] | |
25 | fn test_fun_to_string() { | |
26 | with_default_globals(|| { | |
27 | let abba_ident = ast::Ident::from_str("abba"); | |
28 | ||
29 | let decl = ast::FnDecl { | |
30 | inputs: Vec::new(), | |
31 | output: ast::FunctionRetTy::Default(syntax_pos::DUMMY_SP), | |
32 | c_variadic: false | |
33 | }; | |
34 | let generics = ast::Generics::default(); | |
35 | assert_eq!( | |
36 | fun_to_string( | |
37 | &decl, | |
38 | ast::FnHeader { | |
39 | unsafety: ast::Unsafety::Normal, | |
40 | constness: source_map::dummy_spanned(ast::Constness::NotConst), | |
41 | asyncness: source_map::dummy_spanned(ast::IsAsync::NotAsync), | |
42 | abi: Abi::Rust, | |
43 | }, | |
44 | abba_ident, | |
45 | &generics | |
46 | ), | |
47 | "fn abba()" | |
48 | ); | |
49 | }) | |
50 | } | |
51 | ||
52 | #[test] | |
53 | fn test_variant_to_string() { | |
54 | with_default_globals(|| { | |
55 | let ident = ast::Ident::from_str("principal_skinner"); | |
56 | ||
57 | let var = source_map::respan(syntax_pos::DUMMY_SP, ast::Variant_ { | |
58 | ident, | |
59 | attrs: Vec::new(), | |
60 | id: ast::DUMMY_NODE_ID, | |
61 | // making this up as I go.... ? | |
62 | data: ast::VariantData::Unit(ast::DUMMY_NODE_ID), | |
63 | disr_expr: None, | |
64 | }); | |
65 | ||
66 | let varstr = variant_to_string(&var); | |
67 | assert_eq!(varstr, "principal_skinner"); | |
68 | }) | |
69 | } |