mirror of
https://github.com/clap-rs/clap
synced 2024-12-15 07:12:32 +00:00
b190a6a817
This reduces the need for us to have `clap` as a dependency in `clap_derive`, preparing the way to fix #15.
47 lines
1,021 B
Rust
47 lines
1,021 B
Rust
#![cfg(feature = "env")]
|
|
|
|
use crate::utils;
|
|
|
|
use clap::Parser;
|
|
|
|
#[test]
|
|
fn it_works() {
|
|
#[derive(Debug, PartialEq, Parser)]
|
|
#[clap(rename_all_env = "kebab")]
|
|
struct BehaviorModel {
|
|
#[clap(env)]
|
|
be_nice: String,
|
|
}
|
|
|
|
let help = utils::get_help::<BehaviorModel>();
|
|
assert!(help.contains("[env: be-nice=]"));
|
|
}
|
|
|
|
#[test]
|
|
fn default_is_screaming() {
|
|
#[derive(Debug, PartialEq, Parser)]
|
|
struct BehaviorModel {
|
|
#[clap(env)]
|
|
be_nice: String,
|
|
}
|
|
|
|
let help = utils::get_help::<BehaviorModel>();
|
|
assert!(help.contains("[env: BE_NICE=]"));
|
|
}
|
|
|
|
#[test]
|
|
fn overridable() {
|
|
#[derive(Debug, PartialEq, Parser)]
|
|
#[clap(rename_all_env = "kebab")]
|
|
struct BehaviorModel {
|
|
#[clap(env)]
|
|
be_nice: String,
|
|
|
|
#[clap(rename_all_env = "pascal", env)]
|
|
be_aggressive: String,
|
|
}
|
|
|
|
let help = utils::get_help::<BehaviorModel>();
|
|
assert!(help.contains("[env: be-nice=]"));
|
|
assert!(help.contains("[env: BeAggressive=]"));
|
|
}
|