1#![cfg(feature = "env")] 2 3use crate::utils; 4 5use clap::Parser; 6 7#[test] 8fn it_works() { 9 #[derive(Debug, PartialEq, Parser)] 10 #[command(rename_all_env = "kebab")] 11 struct BehaviorModel { 12 #[arg(env)] 13 be_nice: String, 14 } 15 16 let help = utils::get_help::<BehaviorModel>(); 17 assert!(help.contains("[env: be-nice=]")); 18} 19 20#[test] 21fn default_is_screaming() { 22 #[derive(Debug, PartialEq, Parser)] 23 struct BehaviorModel { 24 #[arg(env)] 25 be_nice: String, 26 } 27 28 let help = utils::get_help::<BehaviorModel>(); 29 assert!(help.contains("[env: BE_NICE=]")); 30} 31 32#[test] 33fn overridable() { 34 #[derive(Debug, PartialEq, Parser)] 35 #[command(rename_all_env = "kebab")] 36 struct BehaviorModel { 37 #[arg(env)] 38 be_nice: String, 39 40 #[arg(rename_all_env = "pascal", env)] 41 be_aggressive: String, 42 } 43 44 let help = utils::get_help::<BehaviorModel>(); 45 assert!(help.contains("[env: be-nice=]")); 46 assert!(help.contains("[env: BeAggressive=]")); 47} 48