Meta: Add unit test for _forgit_get_files_from_diff_line function (#464)

Update CI to install latest bashunit beta version instead of fixed
0.23.0 version because we need the new "data_set" function for
parameterized tests.
This commit is contained in:
carlfriedrich 2025-09-06 13:26:56 +02:00
parent a27da47aa5
commit b244e344f5
2 changed files with 34 additions and 1 deletions

View file

@ -39,7 +39,7 @@ jobs:
sudo apt -y update
sudo apt -y install zsh fish shellcheck
fi
curl -s https://bashunit.typeddevs.com/install.sh | bash -s 0.23.0
curl -s https://bashunit.typeddevs.com/install.sh | bash -s beta
- name: Show version
run: |

View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
function set_up_before_script() {
source bin/git-forgit
}
# @data_provider provider_diff_lines
function test_forgit_get_files_from_diff_line() {
local -r input="$1"
shift
local -r expected=("$@")
local -a actual=()
local i
while IFS= read -r line; do
actual+=( "$line" )
done < <( echo -n "$input" | _forgit_get_files_from_diff_line | xargs -0 -n 1 echo )
# Compare array sizes
assert_same "${#expected[@]}" "${#actual[@]}"
# Compare array elements
for i in "${!expected[@]}"; do
assert_same "${expected[i]}" "${actual[i]}"
done
}
function provider_diff_lines() {
data_set "[A] newfile" "newfile"
data_set "[D] oldfile with spaces" "oldfile with spaces"
data_set "[R100] file -> another file" "file" "another file"
data_set "[M] \"file with\ttab.txt\"" "\"file with\ttab.txt\""
}