diff options
Diffstat (limited to 'structopt/tests/argument_naming.rs')
-rw-r--r-- | structopt/tests/argument_naming.rs | 311 |
1 files changed, 0 insertions, 311 deletions
diff --git a/structopt/tests/argument_naming.rs b/structopt/tests/argument_naming.rs deleted file mode 100644 index e7fe3d5..0000000 --- a/structopt/tests/argument_naming.rs +++ /dev/null @@ -1,311 +0,0 @@ -use structopt::StructOpt; - -#[test] -fn test_single_word_enum_variant_is_default_renamed_into_kebab_case() { - #[derive(StructOpt, Debug, PartialEq)] - enum Opt { - Command { foo: u32 }, - } - - assert_eq!( - Opt::Command { foo: 0 }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "command", "0"])) - ); -} - -#[test] -fn test_multi_word_enum_variant_is_renamed() { - #[derive(StructOpt, Debug, PartialEq)] - enum Opt { - FirstCommand { foo: u32 }, - } - - assert_eq!( - Opt::FirstCommand { foo: 0 }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "first-command", "0"])) - ); -} - -#[test] -fn test_standalone_long_generates_kebab_case() { - #[derive(StructOpt, Debug, PartialEq)] - #[allow(non_snake_case)] - struct Opt { - #[structopt(long)] - FOO_OPTION: bool, - } - - assert_eq!( - Opt { FOO_OPTION: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--foo-option"])) - ); -} - -#[test] -fn test_custom_long_overwrites_default_name() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(long = "foo")] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--foo"])) - ); -} - -#[test] -fn test_standalone_long_uses_previous_defined_custom_name() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(name = "foo", long)] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--foo"])) - ); -} - -#[test] -fn test_standalone_long_ignores_afterwards_defined_custom_name() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(long, name = "foo")] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--foo-option"])) - ); -} - -#[test] -fn test_standalone_short_generates_kebab_case() { - #[derive(StructOpt, Debug, PartialEq)] - #[allow(non_snake_case)] - struct Opt { - #[structopt(short)] - FOO_OPTION: bool, - } - - assert_eq!( - Opt { FOO_OPTION: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "-f"])) - ); -} - -#[test] -fn test_custom_short_overwrites_default_name() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(short = "o")] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "-o"])) - ); -} - -#[test] -fn test_standalone_short_uses_previous_defined_custom_name() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(name = "option", short)] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "-o"])) - ); -} - -#[test] -fn test_standalone_short_ignores_afterwards_defined_custom_name() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(short, name = "option")] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "-f"])) - ); -} - -#[test] -fn test_standalone_long_uses_previous_defined_casing() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(rename_all = "screaming_snake", long)] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--FOO_OPTION"])) - ); -} - -#[test] -fn test_standalone_short_uses_previous_defined_casing() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(rename_all = "screaming_snake", short)] - foo_option: bool, - } - - assert_eq!( - Opt { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "-F"])) - ); -} - -#[test] -fn test_standalone_long_works_with_verbatim_casing() { - #[derive(StructOpt, Debug, PartialEq)] - #[allow(non_snake_case)] - struct Opt { - #[structopt(rename_all = "verbatim", long)] - _fOO_oPtiON: bool, - } - - assert_eq!( - Opt { _fOO_oPtiON: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--_fOO_oPtiON"])) - ); -} - -#[test] -fn test_standalone_short_works_with_verbatim_casing() { - #[derive(StructOpt, Debug, PartialEq)] - struct Opt { - #[structopt(rename_all = "verbatim", short)] - _foo: bool, - } - - assert_eq!( - Opt { _foo: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "-_"])) - ); -} - -#[test] -fn test_rename_all_is_propagated_from_struct_to_fields() { - #[derive(StructOpt, Debug, PartialEq)] - #[structopt(rename_all = "screaming_snake")] - struct Opt { - #[structopt(long)] - foo: bool, - } - - assert_eq!( - Opt { foo: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--FOO"])) - ); -} - -#[test] -fn test_rename_all_is_not_propagated_from_struct_into_flattened() { - #[derive(StructOpt, Debug, PartialEq)] - #[structopt(rename_all = "screaming_snake")] - struct Opt { - #[structopt(flatten)] - foo: Foo, - } - - #[derive(StructOpt, Debug, PartialEq)] - struct Foo { - #[structopt(long)] - foo: bool, - } - - assert_eq!( - Opt { - foo: Foo { foo: true } - }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "--foo"])) - ); -} - -#[test] -fn test_rename_all_is_not_propagated_from_struct_into_subcommand() { - #[derive(StructOpt, Debug, PartialEq)] - #[structopt(rename_all = "screaming_snake")] - struct Opt { - #[structopt(subcommand)] - foo: Foo, - } - - #[derive(StructOpt, Debug, PartialEq)] - enum Foo { - Command { - #[structopt(long)] - foo: bool, - }, - } - - assert_eq!( - Opt { - foo: Foo::Command { foo: true } - }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "command", "--foo"])) - ); -} - -#[test] -fn test_rename_all_is_propagated_from_enum_to_variants_and_their_fields() { - #[derive(StructOpt, Debug, PartialEq)] - #[structopt(rename_all = "screaming_snake")] - enum Opt { - FirstVariant, - SecondVariant { - #[structopt(long)] - foo: bool, - }, - } - - assert_eq!( - Opt::FirstVariant, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "FIRST_VARIANT"])) - ); - - assert_eq!( - Opt::SecondVariant { foo: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "SECOND_VARIANT", "--FOO"])) - ); -} - -#[test] -fn test_rename_all_is_propagation_can_be_overridden() { - #[derive(StructOpt, Debug, PartialEq)] - #[structopt(rename_all = "screaming_snake")] - enum Opt { - #[structopt(rename_all = "kebab_case")] - FirstVariant { - #[structopt(long)] - foo_option: bool, - }, - SecondVariant { - #[structopt(rename_all = "kebab_case", long)] - foo_option: bool, - }, - } - - assert_eq!( - Opt::FirstVariant { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "first-variant", "--foo-option"])) - ); - - assert_eq!( - Opt::SecondVariant { foo_option: true }, - Opt::from_clap(&Opt::clap().get_matches_from(&["test", "SECOND_VARIANT", "--foo-option"])) - ); -} |