// // Copyright 2018 Guillaume Pinot (@TeXitoi) , // // Kevin Knapp (@kbknapp) , and // // Andrew Hobden (@hoverbear) // // // // Licensed under the Apache License, Version 2.0 or the MIT license // // , at your // // option. This file may not be copied, modified, or distributed // // except according to those terms. // #[macro_use] // extern crate clap; // #[macro_use] // extern crate clap_derive; // use clap::{App, Arg}; // #[derive(ArgEnum, Debug, PartialEq)] // enum ArgChoice { // Foo, // Bar, // Baz, // } // #[test] // fn when_lowercase() { // let matches = App::new(env!("CARGO_PKG_NAME")) // .arg( // Arg::with_name("arg") // .required(true) // .takes_value(true) // .possible_values(&ArgChoice::variants()), // ) // .try_get_matches_from(vec!["", "foo"]) // .unwrap(); // let t = value_t!(matches.value_of("arg"), ArgChoice); // assert!(t.is_ok()); // assert_eq!(t.unwrap(), ArgChoice::Foo); // } // #[test] // fn when_capitalized() { // let matches = App::new(env!("CARGO_PKG_NAME")) // .arg( // Arg::with_name("arg") // .required(true) // .takes_value(true) // .possible_values(&ArgChoice::variants()), // ) // .try_get_matches_from(vec!["", "Foo"]) // .unwrap(); // let t = value_t!(matches.value_of("arg"), ArgChoice); // assert!(t.is_ok()); // assert_eq!(t.unwrap(), ArgChoice::Foo); // }