31 lines
915 B
Bash
Executable file
31 lines
915 B
Bash
Executable file
#!/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 ""
|
|
}
|