]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_ast_pretty/src/pprust/tests.rs
Auto merge of #106745 - m-ou-se:format-args-ast, r=oli-obk
[rust.git] / compiler / rustc_ast_pretty / src / pprust / tests.rs
1 use super::*;
2
3 use rustc_ast as ast;
4 use rustc_span::create_default_session_globals_then;
5 use rustc_span::symbol::Ident;
6
7 fn fun_to_string(
8     decl: &ast::FnDecl,
9     header: ast::FnHeader,
10     name: Ident,
11     generics: &ast::Generics,
12 ) -> String {
13     to_string(|s| {
14         s.head("");
15         s.print_fn(decl, header, Some(name), generics);
16         s.end(); // Close the head box.
17         s.end(); // Close the outer box.
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() {
27     create_default_session_globals_then(|| {
28         let abba_ident = Ident::from_str("abba");
29
30         let decl =
31             ast::FnDecl { inputs: Vec::new(), output: ast::FnRetTy::Default(rustc_span::DUMMY_SP) };
32         let generics = ast::Generics::default();
33         assert_eq!(
34             fun_to_string(&decl, ast::FnHeader::default(), abba_ident, &generics),
35             "fn abba()"
36         );
37     })
38 }
39
40 #[test]
41 fn test_variant_to_string() {
42     create_default_session_globals_then(|| {
43         let ident = Ident::from_str("principal_skinner");
44
45         let var = ast::Variant {
46             ident,
47             vis: ast::Visibility {
48                 span: rustc_span::DUMMY_SP,
49                 kind: ast::VisibilityKind::Inherited,
50                 tokens: None,
51             },
52             attrs: ast::AttrVec::new(),
53             id: ast::DUMMY_NODE_ID,
54             data: ast::VariantData::Unit(ast::DUMMY_NODE_ID),
55             disr_expr: None,
56             span: rustc_span::DUMMY_SP,
57             is_placeholder: false,
58         };
59
60         let varstr = variant_to_string(&var);
61         assert_eq!(varstr, "principal_skinner");
62     })
63 }