From 63cdb8aa09f2e7a7649c4f29f180fe8ad10702ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cain=C3=A3=20Costa?= Date: Fri, 30 Jun 2023 12:46:15 -0300 Subject: [PATCH] chore: add more details on snapshot tests We added a macro to add more information about the code that is being tested, so we can add lots and lots of small snapshot tests. --- crates/aiken-lang/src/tests/parser.rs | 25 +++++++++++++------ ...ts__parser__snapshot_windows_newline.snap} | 3 ++- 2 files changed, 19 insertions(+), 9 deletions(-) rename crates/aiken-lang/src/tests/snapshots/{aiken_lang__tests__parser__snapshot_test.snap => aiken_lang__tests__parser__snapshot_windows_newline.snap} (87%) diff --git a/crates/aiken-lang/src/tests/parser.rs b/crates/aiken-lang/src/tests/parser.rs index df0e0c88..5a4f174d 100644 --- a/crates/aiken-lang/src/tests/parser.rs +++ b/crates/aiken-lang/src/tests/parser.rs @@ -23,16 +23,25 @@ fn assert_definitions(code: &str, definitions: Vec) { ) } -fn snapshot_test(code: &str) { - let (module, _) = - parser::module(code, ast::ModuleKind::Validator).expect("Failed to parse code"); - insta::assert_debug_snapshot!(module); +macro_rules! snapshot_test { + ($name:ident, $code:expr) => { + #[test] + fn $name() { + let (module, _) = + parser::module($code, ast::ModuleKind::Validator).expect("Failed to parse code"); + + insta::with_settings!({ + info => &stringify!($name), + description => $code, + omit_expression => true + }, { + insta::assert_debug_snapshot!(module); + }); + } + }; } -#[test] -fn snapshot_windows_newline() { - snapshot_test("use aiken/list\r\n") -} +snapshot_test!(snapshot_windows_newline, "use aiken/list\r\n"); #[test] fn windows_newline() { diff --git a/crates/aiken-lang/src/tests/snapshots/aiken_lang__tests__parser__snapshot_test.snap b/crates/aiken-lang/src/tests/snapshots/aiken_lang__tests__parser__snapshot_windows_newline.snap similarity index 87% rename from crates/aiken-lang/src/tests/snapshots/aiken_lang__tests__parser__snapshot_test.snap rename to crates/aiken-lang/src/tests/snapshots/aiken_lang__tests__parser__snapshot_windows_newline.snap index a604e44e..b6e2b5b1 100644 --- a/crates/aiken-lang/src/tests/snapshots/aiken_lang__tests__parser__snapshot_test.snap +++ b/crates/aiken-lang/src/tests/snapshots/aiken_lang__tests__parser__snapshot_windows_newline.snap @@ -1,6 +1,7 @@ --- source: crates/aiken-lang/src/tests/parser.rs -expression: module +description: "use aiken/list\r\n" +info: snapshot_windows_newline --- Module { name: "",