#!/usr/bin/env bats setup() { set -euo pipefail bats_load_library bats-support bats_load_library bats-assert DIR="$(cd "$(dirname "$BATS_TEST_FILENAME")" >/dev/null 2>&1 && pwd)" PATH="$DIR/../bin:$PATH" } @test "keeps hunk when replacement matches" { printf "%s\n" "foo" >"$BATS_TEST_TMPDIR/old" printf "%s\n" "bar" >"$BATS_TEST_TMPDIR/new" diff_output="$(git diff --no-index "$BATS_TEST_TMPDIR/old" \ "$BATS_TEST_TMPDIR/new" || true)" run mechanicaldiff.py foo bar <<<"$diff_output" assert_success assert_output "$diff_output" } @test "drops diff when replacement does not match" { printf "%s\n" "foo" >"$BATS_TEST_TMPDIR/old" printf "%s\n" "baz" >"$BATS_TEST_TMPDIR/new" git diff --no-index "$BATS_TEST_TMPDIR/old" "$BATS_TEST_TMPDIR/new" \ >"$BATS_TEST_TMPDIR/diff" || true run mechanicaldiff.py foo bar <"$BATS_TEST_TMPDIR/diff" assert_success assert_output "" }