1 use super::{settings::ArgSettings, Arg}; 2 3 #[test] short_flag_misspel()4fn short_flag_misspel() { 5 let a = Arg::from("-f1, --flag 'some flag'"); 6 assert_eq!(a.name, "flag"); 7 assert_eq!(a.short.unwrap(), 'f'); 8 assert_eq!(a.long.unwrap(), "flag"); 9 assert_eq!(a.about.unwrap(), "some flag"); 10 assert!(!a.is_set(ArgSettings::MultipleOccurrences)); 11 assert!(a.val_names.is_empty()); 12 assert!(a.num_vals.is_none()); 13 } 14 15 #[test] short_flag_name_missing()16fn short_flag_name_missing() { 17 let a = Arg::from("-f 'some flag'"); 18 assert_eq!(a.name, "f"); 19 assert_eq!(a.short.unwrap(), 'f'); 20 assert!(a.long.is_none()); 21 assert_eq!(a.about.unwrap(), "some flag"); 22 assert!(!a.is_set(ArgSettings::MultipleOccurrences)); 23 assert!(a.val_names.is_empty()); 24 assert!(a.num_vals.is_none()); 25 } 26 27 // This test will *fail to compile* if Arg is not Send + Sync 28 #[test] arg_send_sync()29fn arg_send_sync() { 30 fn foo<T: Send + Sync>(_: T) {} 31 foo(Arg::new("test")) 32 } 33