diff options
Diffstat (limited to 'clap/tests/yaml.rs')
-rw-r--r-- | clap/tests/yaml.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/clap/tests/yaml.rs b/clap/tests/yaml.rs new file mode 100644 index 0000000..279b987 --- /dev/null +++ b/clap/tests/yaml.rs @@ -0,0 +1,40 @@ +#![cfg(feature="yaml")] + +#[macro_use] +extern crate clap; + +use clap::App; + +#[test] +fn create_app_from_yaml() { + let yml = load_yaml!("app.yml"); + App::from_yaml(yml); +} + +#[test] +fn help_message() { + let yml = load_yaml!("app.yml"); + let mut app = App::from_yaml(yml); + // Generate the full help message! + let _ = app.get_matches_from_safe_borrow(Vec::<String>::new()); + + let mut help_buffer = Vec::new(); + app.write_help(&mut help_buffer).unwrap(); + let help_string = String::from_utf8(help_buffer).unwrap(); + assert!(help_string.contains( + "-h, --help prints help with a nonstandard description\n")); +} + +#[test] +fn author() { + let yml = load_yaml!("app.yml"); + let mut app = App::from_yaml(yml); + // Generate the full help message! + let _ = app.get_matches_from_safe_borrow(Vec::<String>::new()); + + let mut help_buffer = Vec::new(); + app.write_help(&mut help_buffer).unwrap(); + let help_string = String::from_utf8(help_buffer).unwrap(); + assert!(help_string.contains( + "Kevin K. <kbknapp@gmail.com>")); +} |