From 4d521429beecec2058e3aed8b651ee9c68d30813 Mon Sep 17 00:00:00 2001 From: omjadas Date: Wed, 15 Jun 2022 13:38:11 +1000 Subject: [PATCH] test: Add test for default_value_os_t --- tests/derive/default_value.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/derive/default_value.rs b/tests/derive/default_value.rs index fc07e4c1128..6a78f8d6b75 100644 --- a/tests/derive/default_value.rs +++ b/tests/derive/default_value.rs @@ -1,3 +1,5 @@ +use std::path::PathBuf; + use clap::{CommandFactory, Parser}; use crate::utils; @@ -44,6 +46,30 @@ fn auto_default_value_t() { assert!(help.contains("[default: 0]")); } +#[test] +fn default_value_os_t() { + #[derive(Parser, PartialEq, Debug)] + struct Opt { + #[clap(value_parser, default_value_os_t = PathBuf::from("abc.def"))] + arg: PathBuf, + } + assert_eq!( + Opt { + arg: PathBuf::from("abc.def") + }, + Opt::try_parse_from(&["test"]).unwrap() + ); + assert_eq!( + Opt { + arg: PathBuf::from("ghi") + }, + Opt::try_parse_from(&["test", "ghi"]).unwrap() + ); + + let help = utils::get_long_help::(); + assert!(help.contains("[default: abc.def]")); +} + #[test] fn detect_os_variant() { #![allow(unused_parens)] // needed for `as_ref` call