summaryrefslogtreecommitdiff
path: root/src/subcommands
diff options
context:
space:
mode:
Diffstat (limited to 'src/subcommands')
-rw-r--r--src/subcommands/diff.rs25
-rw-r--r--src/subcommands/show_colors.rs5
-rw-r--r--src/subcommands/show_config.rs1
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