[now working] Merge pull request #64 from msilvestre/feature/permit_to_check_changes_on_more_than_one_specific_file

Fix bug when passing more than one file to changes
pull/90/head
Sobolev Nikita 7 years ago committed by GitHub
commit acdcb45466

@ -18,15 +18,15 @@ function changes {
shift $((OPTIND-1))
[ "$1" = '--' ] && shift
local filenames="$1"
if [[ -z "$filenames" ]]; then
local filenames=( "$@" )
if [[ ${#filenames[@]} -eq 0 ]]; then
# Checking if no filenames are passed, show diff for all files.
filenames=$(git secret list)
filenames=( $(git secret list) )
fi
IFS='
'
for filename in $filenames; do
for filename in "${filenames[@]}"; do
local decrypted
local content
local diff_result

@ -66,3 +66,21 @@ function teardown {
[[ "$output" == *"changes in $SECOND_FILE_TO_HIDE"* ]]
[[ "$output" == *"$second_file_to_hide"* ]]
}
@test "run 'changes' with multiple selected files changed" {
local password=$(test_user_password "$TEST_DEFAULT_USER")
local new_content="new content"
local second_new_content="something different"
echo "$new_content" >> "$FILE_TO_HIDE"
echo "$second_new_content" >> "$SECOND_FILE_TO_HIDE"
run git secret changes "$FILE_TO_HIDE" "$SECOND_FILE_TO_HIDE" -d "$TEST_GPG_HOMEDIR" -p "$password"
[ "$status" -eq 2 ]
# Testing that output has both filename and changes:
[[ "$output" == *"changes in $FILE_TO_HIDE"* ]]
[[ "$output" == *"$new_content"* ]]
[[ "$output" == *"changes in $SECOND_FILE_TO_HIDE"* ]]
[[ "$output" == *"$second_file_to_hide"* ]]
}

Loading…
Cancel
Save