2
0
mirror of https://github.com/kazhala/dotbare synced 2024-11-17 21:25:32 +00:00
dotbare/tests/fedit.bats
2020-07-07 14:34:22 +10:00

55 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bats
help() {
bash "${BATS_TEST_DIRNAME}"/../dotbare fedit -h
}
invalid_option() {
bash "${BATS_TEST_DIRNAME}"/../dotbare fedit -p
}
no_file_selected() {
cd "${BATS_TEST_DIRNAME}"
bash "${BATS_TEST_DIRNAME}"/../dotbare fedit -m
}
edit_commits() {
export PATH="${BATS_TEST_DIRNAME}:$PATH"
bash "${BATS_TEST_DIRNAME}"/../dotbare fedit --commit
}
edit_files() {
export PATH="${BATS_TEST_DIRNAME}:$PATH"
bash "${BATS_TEST_DIRNAME}"/../dotbare fedit
}
@test "fedit help" {
run help
[ "${status}" -eq 0 ]
[ "${lines[0]}" = "Usage: dotbare fedit [-h] [-m] [-c] ..." ]
}
@test "fedit invalid option" {
run invalid_option
[ "${status}" -eq 1 ]
[ "${lines[0]}" = "Invalid option: -p" ]
}
@test "fedit no file selected" {
run no_file_selected
[ "${status}" -eq 1 ]
}
@test "fedit edit commits" {
run edit_commits
[[ "${output}" =~ "rebase -i" ]]
[[ "${output}" =~ "fedit_commits" ]]
}
@test "fedit edit files" {
run edit_files
# to avoid actually invoking vim, the fzf mock file exit without pringting anything
# when detecting the correct flag called with fzf
[ "${status}" -eq 1 ]
}