119625d8cSopenharmony_ci#[cfg(debug_assertions)]
219625d8cSopenharmony_ci#[test]
319625d8cSopenharmony_ci#[should_panic = "Argument names must be unique, but 'arg1' is in use by more than one argument or group"]
419625d8cSopenharmony_cifn unique_arg_names() {
519625d8cSopenharmony_ci    use clap::{Arg, Command};
619625d8cSopenharmony_ci
719625d8cSopenharmony_ci    let _ = Command::new("some")
819625d8cSopenharmony_ci        .args([Arg::new("arg1").short('a'), Arg::new("arg1").short('b')])
919625d8cSopenharmony_ci        .try_get_matches();
1019625d8cSopenharmony_ci}
1119625d8cSopenharmony_ci
1219625d8cSopenharmony_ci#[cfg(debug_assertions)]
1319625d8cSopenharmony_ci#[test]
1419625d8cSopenharmony_ci#[should_panic = "Short option names must be unique for each argument, but '-a' is in use by both 'arg1' and 'arg2'"]
1519625d8cSopenharmony_cifn unique_arg_shorts() {
1619625d8cSopenharmony_ci    use clap::{Arg, Command};
1719625d8cSopenharmony_ci
1819625d8cSopenharmony_ci    let _ = Command::new("some")
1919625d8cSopenharmony_ci        .args([Arg::new("arg1").short('a'), Arg::new("arg2").short('a')])
2019625d8cSopenharmony_ci        .try_get_matches();
2119625d8cSopenharmony_ci}
2219625d8cSopenharmony_ci
2319625d8cSopenharmony_ci#[cfg(debug_assertions)]
2419625d8cSopenharmony_ci#[test]
2519625d8cSopenharmony_ci#[should_panic = "Long option names must be unique for each argument, but '--long' is in use by both 'arg1' and 'arg2'"]
2619625d8cSopenharmony_cifn unique_arg_longs() {
2719625d8cSopenharmony_ci    use clap::{Arg, Command};
2819625d8cSopenharmony_ci
2919625d8cSopenharmony_ci    let _ = Command::new("some")
3019625d8cSopenharmony_ci        .args([Arg::new("arg1").long("long"), Arg::new("arg2").long("long")])
3119625d8cSopenharmony_ci        .try_get_matches();
3219625d8cSopenharmony_ci}
33