1 #[cfg(debug_assertions)] 2 #[test] 3 #[should_panic = "Argument names must be unique, but 'arg1' is in use by more than one argument or group"] unique_arg_names()4fn unique_arg_names() { 5 use clap::{Arg, Command}; 6 7 let _ = Command::new("some") 8 .args([Arg::new("arg1").short('a'), Arg::new("arg1").short('b')]) 9 .try_get_matches(); 10 } 11 12 #[cfg(debug_assertions)] 13 #[test] 14 #[should_panic = "Short option names must be unique for each argument, but '-a' is in use by both 'arg1' and 'arg2'"] unique_arg_shorts()15fn unique_arg_shorts() { 16 use clap::{Arg, Command}; 17 18 let _ = Command::new("some") 19 .args([Arg::new("arg1").short('a'), Arg::new("arg2").short('a')]) 20 .try_get_matches(); 21 } 22 23 #[cfg(debug_assertions)] 24 #[test] 25 #[should_panic = "Long option names must be unique for each argument, but '--long' is in use by both 'arg1' and 'arg2'"] unique_arg_longs()26fn unique_arg_longs() { 27 use clap::{Arg, Command}; 28 29 let _ = Command::new("some") 30 .args([Arg::new("arg1").long("long"), Arg::new("arg2").long("long")]) 31 .try_get_matches(); 32 } 33