]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_ast_pretty/src/pprust/tests.rs
New upstream version 1.55.0+dfsg1
[rustc.git] / compiler / rustc_ast_pretty / src / pprust / tests.rs
CommitLineData
416331ca
XL
1use super::*;
2
3dfed10e 3use rustc_ast as ast;
136023e0 4use rustc_span::create_default_session_globals_then;
f9f354fc 5use rustc_span::symbol::Ident;
416331ca
XL
6
7fn 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
21fn variant_to_string(var: &ast::Variant) -> String {
22 to_string(|s| s.print_variant(var))
23}
24
25#[test]
26fn 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]
41fn 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}