From 6e269873c223f9f8fa1b3f9bfe5fdcce95862013 Mon Sep 17 00:00:00 2001 From: overtrue Date: Tue, 21 Apr 2026 09:06:40 +0800 Subject: [PATCH] test(cp): cover download progress edge cases --- crates/cli/src/commands/cp.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/crates/cli/src/commands/cp.rs b/crates/cli/src/commands/cp.rs index af40b4a..b454006 100644 --- a/crates/cli/src/commands/cp.rs +++ b/crates/cli/src/commands/cp.rs @@ -833,6 +833,35 @@ mod tests { assert!(progress.is_none()); } + #[test] + fn test_download_progress_skips_unknown_total_size() { + let output_config = OutputConfig::default(); + let mut progress = None; + + update_download_progress(&mut progress, &output_config, 1024, None); + + assert!(progress.is_none()); + } + + #[test] + fn test_download_progress_respects_no_progress_config() { + let output_config = OutputConfig { + no_progress: true, + ..Default::default() + }; + let mut progress = None; + + update_download_progress( + &mut progress, + &output_config, + 1024, + Some(DOWNLOAD_PROGRESS_THRESHOLD), + ); + + let progress = progress.expect("large download should create progress state"); + assert!(!progress.is_visible()); + } + #[test] fn test_parse_cp_path_prefers_existing_local_path_when_alias_missing() { let (alias_manager, temp_dir) = temp_alias_manager();