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