diff options
Diffstat (limited to 'src/subcommands')
| -rw-r--r-- | src/subcommands/diff.rs | 25 | ||||
| -rw-r--r-- | src/subcommands/show_colors.rs | 5 | ||||
| -rw-r--r-- | src/subcommands/show_config.rs | 1 |
3 files changed, 18 insertions, 13 deletions
diff --git a/src/subcommands/diff.rs b/src/subcommands/diff.rs index 215d45e..53a36c7 100644 --- a/src/subcommands/diff.rs +++ b/src/subcommands/diff.rs @@ -172,11 +172,10 @@ where #[cfg(test)] mod main_tests { + use std::ffi::OsString; use std::io::Cursor; - use std::path::PathBuf; - use super::{diff, diff_args_set_unified_context}; - use crate::tests::integration_test_utils; + use super::diff_args_set_unified_context; use rstest::rstest; @@ -215,20 +214,24 @@ mod main_tests { &str, >, ) { - let config = integration_test_utils::make_config_from_args(&args); let mut writer = Cursor::new(vec![]); - let exit_code = diff( - &PathBuf::from(file_a), - &PathBuf::from(file_b), - &config, - &mut writer, - ); + let mut runargs = vec![OsString::from(file_a), OsString::from(file_b)]; + runargs.extend(args.iter().map(OsString::from)); + let exit_code = crate::run_app(runargs, Some(&mut writer)); + assert_eq!( - exit_code, + exit_code.unwrap(), match expect_diff { ExpectDiff::Yes => 1, ExpectDiff::No => 0, } ); + assert_eq!( + std::str::from_utf8(writer.get_ref()).unwrap() != "", + match expect_diff { + ExpectDiff::Yes => true, + ExpectDiff::No => false, + } + ); } } diff --git a/src/subcommands/show_colors.rs b/src/subcommands/show_colors.rs index b67c229..3a5cabc 100644 --- a/src/subcommands/show_colors.rs +++ b/src/subcommands/show_colors.rs @@ -13,10 +13,11 @@ use crate::utils::bat::output::{OutputType, PagingMode}; pub fn show_colors() -> std::io::Result<()> { use crate::{delta::DiffType, utils}; - let assets = utils::bat::assets::load_highlighting_assets(); + let args = std::env::args_os().collect::<Vec<_>>(); let env = DeltaEnv::default(); + let assets = utils::bat::assets::load_highlighting_assets(); - let opt = match cli::Opt::from_args_and_git_config(&env, assets) { + let opt = match cli::Opt::from_args_and_git_config(args, &env, assets) { cli::Call::Delta(opt) => opt, _ => panic!("non-Delta Call variant should not occur here"), }; diff --git a/src/subcommands/show_config.rs b/src/subcommands/show_config.rs index 3dba411..4725aa7 100644 --- a/src/subcommands/show_config.rs +++ b/src/subcommands/show_config.rs @@ -147,6 +147,7 @@ pub fn show_config(config: &config::Config, writer: &mut dyn Write) -> std::io:: PagingMode::Always => "always", PagingMode::Never => "never", PagingMode::QuitIfOneScreen => "auto", + PagingMode::Capture => unreachable!("capture can not be set"), }, side_by_side = config.side_by_side, syntax_theme = config |
