50 lines
922 B
Bash
Executable file
50 lines
922 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" {
|
|
run bash -c 'cat <<"EOF" | mechanicaldiff.py foo bar
|
|
diff --git a/file.txt b/file.txt
|
|
index 1111111..2222222 100644
|
|
--- a/file.txt
|
|
+++ b/file.txt
|
|
@@ -1,1 +1,1 @@
|
|
-foo
|
|
+bar
|
|
EOF'
|
|
assert_success
|
|
expected="$(
|
|
cat <<'EOF'
|
|
diff --git a/file.txt b/file.txt
|
|
index 1111111..2222222 100644
|
|
--- a/file.txt
|
|
+++ b/file.txt
|
|
@@ -1,1 +1,1 @@
|
|
-foo
|
|
+bar
|
|
EOF
|
|
)"
|
|
assert_output "$expected"
|
|
}
|
|
|
|
@test "drops diff when replacement does not match" {
|
|
run bash -c 'cat <<"EOF" | mechanicaldiff.py foo bar
|
|
diff --git a/file.txt b/file.txt
|
|
index 1111111..2222222 100644
|
|
--- a/file.txt
|
|
+++ b/file.txt
|
|
@@ -1,1 +1,1 @@
|
|
-foo
|
|
+baz
|
|
EOF'
|
|
assert_success
|
|
assert_output ""
|
|
}
|