From 8c51f76d0dc65d7f2f0694fc5d49e66ff3c80528 Mon Sep 17 00:00:00 2001 From: Talison Fabio <54823205+talis-fb@users.noreply.github.com> Date: Mon, 14 Apr 2025 11:59:14 -0300 Subject: [PATCH] test: add ui test --- ..._ui_test_ok_decompress_multiple_files.snap | 10 ++++++++++ tests/ui.rs | 20 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 tests/snapshots/ui__ui_test_ok_decompress_multiple_files.snap diff --git a/tests/snapshots/ui__ui_test_ok_decompress_multiple_files.snap b/tests/snapshots/ui__ui_test_ok_decompress_multiple_files.snap new file mode 100644 index 0000000..a3ddd47 --- /dev/null +++ b/tests/snapshots/ui__ui_test_ok_decompress_multiple_files.snap @@ -0,0 +1,10 @@ +--- +source: tests/ui.rs +expression: "run_ouch(&decompress_command, dir)" +--- +[INFO] extracted ( 0.00 B) "outputs/inputs" +[INFO] extracted ( 0.00 B) "outputs/inputs/input3" +[INFO] extracted ( 0.00 B) "outputs/inputs/input2" +[INFO] extracted ( 0.00 B) "outputs/inputs/input" +[INFO] Successfully decompressed archive in /outputs +[INFO] Files unpacked: 4 diff --git a/tests/ui.rs b/tests/ui.rs index e9d3508..5930894 100644 --- a/tests/ui.rs +++ b/tests/ui.rs @@ -142,6 +142,26 @@ fn ui_test_ok_decompress() { ui!(run_ouch("ouch decompress output.zst", dir)); } +#[test] +fn ui_test_ok_decompress_multiple_files() { + let (_dropper, dir) = testdir().unwrap(); + + let inputs_dir = dir.join("inputs"); + std::fs::create_dir(&inputs_dir).unwrap(); + + let outputs_dir = dir.join("outputs"); + std::fs::create_dir(&outputs_dir).unwrap(); + + // prepare + create_files_in(&inputs_dir, &["input", "input2", "input3"]); + + let compress_command = format!("ouch compress {} output.tar.zst", inputs_dir.to_str().unwrap()); + run_ouch(&compress_command, dir); + + let decompress_command = format!("ouch decompress output.tar.zst --dir {}", outputs_dir.to_str().unwrap()); + ui!(run_ouch(&decompress_command, dir)); +} + #[test] fn ui_test_usage_help_flag() { insta::with_settings!({filters => vec![