diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /compiler/rustc_ast_pretty/src/pprust/tests.rs | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | compiler/rustc_ast_pretty/src/pprust/tests.rs | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/compiler/rustc_ast_pretty/src/pprust/tests.rs b/compiler/rustc_ast_pretty/src/pprust/tests.rs new file mode 100644 index 000000000..6c8d42f33 --- /dev/null +++ b/compiler/rustc_ast_pretty/src/pprust/tests.rs @@ -0,0 +1,63 @@ +use super::*; + +use rustc_ast as ast; +use rustc_span::create_default_session_globals_then; +use rustc_span::symbol::Ident; + +fn fun_to_string( + decl: &ast::FnDecl, + header: ast::FnHeader, + name: Ident, + generics: &ast::Generics, +) -> String { + to_string(|s| { + s.head(""); + s.print_fn(decl, header, Some(name), generics); + s.end(); // Close the head box. + s.end(); // Close the outer box. + }) +} + +fn variant_to_string(var: &ast::Variant) -> String { + to_string(|s| s.print_variant(var)) +} + +#[test] +fn test_fun_to_string() { + create_default_session_globals_then(|| { + let abba_ident = Ident::from_str("abba"); + + let decl = + ast::FnDecl { inputs: Vec::new(), output: ast::FnRetTy::Default(rustc_span::DUMMY_SP) }; + let generics = ast::Generics::default(); + assert_eq!( + fun_to_string(&decl, ast::FnHeader::default(), abba_ident, &generics), + "fn abba()" + ); + }) +} + +#[test] +fn test_variant_to_string() { + create_default_session_globals_then(|| { + let ident = Ident::from_str("principal_skinner"); + + let var = ast::Variant { + ident, + vis: ast::Visibility { + span: rustc_span::DUMMY_SP, + kind: ast::VisibilityKind::Inherited, + tokens: None, + }, + attrs: ast::AttrVec::new(), + id: ast::DUMMY_NODE_ID, + data: ast::VariantData::Unit(ast::DUMMY_NODE_ID), + disr_expr: None, + span: rustc_span::DUMMY_SP, + is_placeholder: false, + }; + + let varstr = variant_to_string(&var); + assert_eq!(varstr, "principal_skinner"); + }) +} |