Add a test where only one hunk in a file is dropped

This commit is contained in:
Sven van Heugten 2026-03-05 20:08:32 +01:00
parent 048dd09cc2
commit 54bae30e11
No known key found for this signature in database
GPG key ID: D612F88666F4F660

View file

@ -29,3 +29,67 @@ setup() {
assert_failure assert_failure
assert_output "" 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"
}