use gix_diff::blob::{Algorithm, Driver}; use crate::util::named_repo; #[test]fn resource_cache() -> crate::Result { let repo = named_repo("make_diff_repo.sh")?; let cache = gix::diff::resource_cache( &repo, &*repo.index()?, gix::diff::blob::pipeline::Mode::ToWorktreeAndBinaryToText, gix_worktree::stack::state::attributes::Source::IdMapping, Default::default(), )?; assert_eq!( cache.filter.drivers(), &[ Driver { name: "all-but-binary".into(), command: Some("command".into()), algorithm: Some(Algorithm::Histogram), binary_to_text_command: Some("textconv".into()), is_binary: None }, Driver { name: "binary-false".into(), is_binary: Some(false), ..Default::default() }, Driver { name: "binary-true".into(), is_binary: Some(true), ..Default::default() } ] ); assert_eq!(cache.options.algorithm, Some(Algorithm::Histogram)); assert!( !cache.options.skip_internal_diff_if_external_is_configured, "pre-set to something that makes sense for most" ); assert_eq!( cache.filter.options.large_file_threshold_bytes, 512 * 1024 * 1024, "the default value unless it's configured" ); Ok(())}
use gix_diff::blob::{Algorithm, Driver};
use crate::util::named_repo;
#[test]
fn resource_cache() -> crate::Result {
let repo = named_repo("make_diff_repo.sh")?;
let cache = gix::diff::resource_cache(
&repo,
&*repo.index()?,
gix::diff::blob::pipeline::Mode::ToWorktreeAndBinaryToText,
gix_worktree::stack::state::attributes::Source::IdMapping,
Default::default(),
)?;
assert_eq!(
cache.filter.drivers(),
&[
Driver {
name: "all-but-binary".into(),
command: Some("command".into()),
algorithm: Some(Algorithm::Histogram),
binary_to_text_command: Some("textconv".into()),
is_binary: None
},
Driver {
name: "binary-false".into(),
is_binary: Some(false),
..Default::default()
},
Driver {
name: "binary-true".into(),
is_binary: Some(true),
..Default::default()
}
]
);
assert_eq!(cache.options.algorithm, Some(Algorithm::Histogram));
assert!(
!cache.options.skip_internal_diff_if_external_is_configured,
"pre-set to something that makes sense for most"
);
assert_eq!(
cache.filter.options.large_file_threshold_bytes,
512 * 1024 * 1024,
"the default value unless it's configured"
);
Ok(())
}