diff --git a/crates/cli/src/commands/mod.rs b/crates/cli/src/commands/mod.rs index 1c9532f..8d01c55 100644 --- a/crates/cli/src/commands/mod.rs +++ b/crates/cli/src/commands/mod.rs @@ -410,6 +410,34 @@ mod tests { assert!(resolved.json); } + #[test] + fn explicit_human_overrides_structured_default() { + let options = GlobalOutputOptions { + format: Some(OutputFormat::Human), + json: false, + no_color: false, + no_progress: false, + quiet: false, + }; + + let resolved = options.resolve(OutputBehavior::StructuredDefault); + assert!(!resolved.json); + } + + #[test] + fn explicit_auto_overrides_human_default() { + let options = GlobalOutputOptions { + format: Some(OutputFormat::Auto), + json: false, + no_color: false, + no_progress: false, + quiet: false, + }; + + let resolved = options.resolve(OutputBehavior::HumanDefault); + assert_eq!(resolved.json, !std::io::stdout().is_terminal()); + } + #[test] fn cli_accepts_bucket_cors_subcommand() { let cli = Cli::try_parse_from(["rc", "bucket", "cors", "list", "local/my-bucket"])