]>
Commit | Line | Data |
---|---|---|
416331ca XL |
1 | use super::*; |
2 | ||
3dfed10e | 3 | use rustc_ast as ast; |
136023e0 | 4 | use rustc_span::create_default_session_globals_then; |
f9f354fc | 5 | use rustc_span::symbol::Ident; |
416331ca XL |
6 | |
7 | fn fun_to_string( | |
dfeec247 XL |
8 | decl: &ast::FnDecl, |
9 | header: ast::FnHeader, | |
f9f354fc | 10 | name: Ident, |
dfeec247 | 11 | generics: &ast::Generics, |
416331ca XL |
12 | ) -> String { |
13 | to_string(|s| { | |
14 | s.head(""); | |
74b04a01 | 15 | s.print_fn(decl, header, Some(name), generics); |
e1599b0c XL |
16 | s.end(); // Close the head box. |
17 | s.end(); // Close the outer box. | |
416331ca XL |
18 | }) |
19 | } | |
20 | ||
21 | fn variant_to_string(var: &ast::Variant) -> String { | |
22 | to_string(|s| s.print_variant(var)) | |
23 | } | |
24 | ||
25 | #[test] | |
26 | fn test_fun_to_string() { | |
136023e0 | 27 | create_default_session_globals_then(|| { |
f9f354fc | 28 | let abba_ident = Ident::from_str("abba"); |
416331ca | 29 | |
74b04a01 XL |
30 | let decl = |
31 | ast::FnDecl { inputs: Vec::new(), output: ast::FnRetTy::Default(rustc_span::DUMMY_SP) }; | |
416331ca XL |
32 | let generics = ast::Generics::default(); |
33 | assert_eq!( | |
dfeec247 | 34 | fun_to_string(&decl, ast::FnHeader::default(), abba_ident, &generics), |
416331ca XL |
35 | "fn abba()" |
36 | ); | |
37 | }) | |
38 | } | |
39 | ||
40 | #[test] | |
41 | fn test_variant_to_string() { | |
136023e0 | 42 | create_default_session_globals_then(|| { |
f9f354fc | 43 | let ident = Ident::from_str("principal_skinner"); |
416331ca | 44 | |
e1599b0c | 45 | let var = ast::Variant { |
416331ca | 46 | ident, |
1b1a35ee XL |
47 | vis: ast::Visibility { |
48 | span: rustc_span::DUMMY_SP, | |
49 | kind: ast::VisibilityKind::Inherited, | |
50 | tokens: None, | |
51 | }, | |
136023e0 | 52 | attrs: ast::AttrVec::new(), |
416331ca | 53 | id: ast::DUMMY_NODE_ID, |
416331ca XL |
54 | data: ast::VariantData::Unit(ast::DUMMY_NODE_ID), |
55 | disr_expr: None, | |
dfeec247 | 56 | span: rustc_span::DUMMY_SP, |
e1599b0c XL |
57 | is_placeholder: false, |
58 | }; | |
416331ca XL |
59 | |
60 | let varstr = variant_to_string(&var); | |
61 | assert_eq!(varstr, "principal_skinner"); | |
62 | }) | |
63 | } |