You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dotbare/tests/fadd.bats

63 lines
1.3 KiB
Bash

#!/usr/bin/env bats
help() {
bash "${BATS_TEST_DIRNAME}"/../dotbare fadd -h
}
invalid_option() {
bash "${BATS_TEST_DIRNAME}"/../dotbare fadd -p
}
no_file_selected() {
cd "${BATS_TEST_DIRNAME}"
bash "${BATS_TEST_DIRNAME}"/../dotbare fadd -d
}
stage_selected_file() {
export PATH="${BATS_TEST_DIRNAME}:$PATH"
bash "${BATS_TEST_DIRNAME}"/../dotbare fadd -f
}
stage_selected_dir() {
export PATH="${BATS_TEST_DIRNAME}:$PATH"
bash "${BATS_TEST_DIRNAME}"/../dotbare fadd --dir
}
stage_modified_file() {
export PATH="${BATS_TEST_DIRNAME}:$PATH"
bash "${BATS_TEST_DIRNAME}"/../dotbare fadd
}
@test "fadd help" {
run help
[ "${status}" -eq 0 ]
[ "${lines[0]}" = "Usage: dotbare fadd [-h] [-f] [-d] ..." ]
}
@test "fadd invalid option" {
run invalid_option
[ "${status}" -eq 1 ]
[ "${lines[0]}" = "Invalid option: -p" ]
}
@test "fadd no file selected" {
run no_file_selected
[ "${status}" -eq 1 ]
}
@test "fadd stage selected file" {
run stage_selected_file
[[ "${output}" =~ "add fadd_stage_file" ]]
}
@test "fadd stage selected dir" {
run stage_selected_dir
[[ "${output}" =~ "add fadd_stage_dir" ]]
}
@test "fadd stage modified file" {
run stage_modified_file
[[ "${output}" =~ "add" ]]
[[ "${output}" =~ "fadd_stage_modified" ]]
}