use super::build_commit_message_trailer; use super::commit_message_trailer_instruction; use super::resolve_attribution_value; #[test] fn blank_attribution_disables_trailer_prompt() { assert_eq!(build_commit_message_trailer(Some("")), None); assert_eq!(commit_message_trailer_instruction(Some(" ")), None); } #[test] fn default_attribution_uses_codex_trailer() { assert_eq!( build_commit_message_trailer(/*config_attribution*/ None).as_deref(), Some("Co-authored-by: Codex ") ); } #[test] fn resolve_value_handles_default_custom_and_blank() { assert_eq!( resolve_attribution_value(/*config_attribution*/ None), Some("Codex ".to_string()) ); assert_eq!( resolve_attribution_value(Some("MyAgent ")), Some("MyAgent ".to_string()) ); assert_eq!( resolve_attribution_value(Some("MyAgent")), Some("MyAgent".to_string()) ); assert_eq!(resolve_attribution_value(Some(" ")), None); } #[test] fn instruction_mentions_trailer_and_omits_generated_with() { let instruction = commit_message_trailer_instruction(Some("AgentX ")) .expect("instruction expected"); assert!(instruction.contains("Co-authored-by: AgentX ")); assert!(instruction.contains("exactly once")); assert!(!instruction.contains("Generated-with")); }