From a21007464ba021e8a08cf6baea45668cb01593d4 Mon Sep 17 00:00:00 2001 From: Mykhailo Chalyi Date: Mon, 25 May 2026 15:18:13 +0000 Subject: [PATCH] test(rg): cover binary default reporting for explicit inputs and stdin Verify default-mode 'binary file matches ...' reporting: - explicit binary file argument - binary stdin Main already implements input.explicit handling differently than the original PR proposed (using a bool field rather than skip_binary_by_default); the meaningful contribution is the regression coverage. Rebased on current main; original PR #1756 by chaliy (refactor portion superseded by #1737). --- crates/bashkit/src/builtins/rg/mod.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crates/bashkit/src/builtins/rg/mod.rs b/crates/bashkit/src/builtins/rg/mod.rs index cb7184ab..3e68af92 100644 --- a/crates/bashkit/src/builtins/rg/mod.rs +++ b/crates/bashkit/src/builtins/rg/mod.rs @@ -12184,6 +12184,20 @@ mod tests { assert!(default.stdout.contains("text.txt")); assert!(!default.stdout.contains("bin.dat")); + let explicit_default = run_rg(&["needle", "/proj/bin.dat"], None, files).await; + assert_eq!(explicit_default.exit_code, 0); + assert_eq!( + explicit_default.stdout, + "binary file matches (found \"\\0\" byte around offset 3)\n" + ); + + let stdin_default = run_rg(&["needle"], Some("abc\0needle\n"), files).await; + assert_eq!(stdin_default.exit_code, 0); + assert_eq!( + stdin_default.stdout, + "binary file matches (found \"\\0\" byte around offset 3)\n" + ); + let text = run_rg(&["--text", "needle", "/proj/bin.dat"], None, files).await; assert_eq!(text.exit_code, 0); assert_eq!(text.stdout, "abc\0needle\n");