From 54bae30e11215477b48bbe79ec92734f1f326258 Mon Sep 17 00:00:00 2001 From: Sven van Heugten Date: Thu, 5 Mar 2026 20:08:32 +0100 Subject: [PATCH] Add a test where only one hunk in a file is dropped --- test/mechanicaldiff.bats | 64 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/test/mechanicaldiff.bats b/test/mechanicaldiff.bats index 46f779d..7be9d9e 100755 --- a/test/mechanicaldiff.bats +++ b/test/mechanicaldiff.bats @@ -29,3 +29,67 @@ setup() { assert_failure assert_output "" } + +@test "drops one hunk and keeps another" { + cat >"$BATS_TEST_TMPDIR/old" <<-'EOF' + alpha + beta + gamma + one + two + three + four + five + six + seven + eight + nine + ten + delta + EOF + cat >"$BATS_TEST_TMPDIR/new" <<-'EOF' + alpha + beta_changed + gamma + one + two + three + four + five + six + seven + eight + nine + ten + delta_changed + EOF + cat >"$BATS_TEST_TMPDIR/new_kept" <<-'EOF' + alpha + beta_changed + gamma + one + two + three + four + five + six + seven + eight + nine + ten + delta + EOF + + git diff --no-index "$BATS_TEST_TMPDIR/old" \ + "$BATS_TEST_TMPDIR/new" \ + >"$BATS_TEST_TMPDIR/diff_full" || true + git diff --no-index "$BATS_TEST_TMPDIR/old" \ + "$BATS_TEST_TMPDIR/new_kept" \ + >"$BATS_TEST_TMPDIR/diff_expected" || true + + run mechanicaldiff.py "beta" "beta_changed" <"$BATS_TEST_TMPDIR/diff_full" + assert_failure + assert_output --partial "-beta" + assert_output --partial "+beta_changed" + refute_output --partial "delta_changed" +}