1 use super::{settings::ArgSettings, Arg};
2 
3 #[test]
short_flag_misspel()4 fn 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()16 fn 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()29 fn arg_send_sync() {
30     fn foo<T: Send + Sync>(_: T) {}
31     foo(Arg::new("test"))
32 }
33