mirror of
https://github.com/soulis-1256/assemblrr.git
synced 2026-09-01 02:14:24 +00:00
Pick extra subtitle languages in setup and config edit (Jellyfin preferred first, Bazarr downloads all). Config edit OpenSubtitles goes straight to username/password, ignores leftover fzf Enter, and cancel leaves secrets.
58 lines
1.9 KiB
Bash
58 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# Unit tests for lib/ui.sh (setup vs edit copy)
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
# shellcheck disable=SC1091
|
|
source "$SCRIPT_DIR/../helpers.sh"
|
|
# shellcheck disable=SC1091
|
|
source "$REPO_ROOT/lib/core.sh"
|
|
stub_log_error_no_exit
|
|
# shellcheck disable=SC1091
|
|
source "$REPO_ROOT/lib/ui.sh"
|
|
|
|
test_suite "ui_mode defaults to setup"
|
|
assert_eq "setup" "$(ui_mode)" "default mode is setup"
|
|
assert_true "ui_is_setup" ui_is_setup
|
|
assert_false "not edit by default" ui_is_edit
|
|
|
|
test_suite "ui_set_mode"
|
|
ui_set_mode edit
|
|
assert_eq "edit" "$(ui_mode)" "edit mode"
|
|
assert_true "ui_is_edit" ui_is_edit
|
|
assert_false "not setup" ui_is_setup
|
|
ui_set_mode setup
|
|
assert_eq "setup" "$(ui_mode)" "back to setup"
|
|
ui_set_mode bogus
|
|
assert_eq "setup" "$(ui_mode)" "unknown mode falls back to setup"
|
|
|
|
test_suite "ui_intro spacing"
|
|
ui_set_mode setup
|
|
intro=$(ui_intro "Pick indexers." "Change indexers.")
|
|
assert_eq $'\nPick indexers.' "$intro" "one blank line before setup copy"
|
|
ui_set_mode edit
|
|
intro=$(ui_intro "Pick indexers." "Change indexers.")
|
|
assert_eq $'\nChange indexers.' "$intro" "one blank line before edit copy"
|
|
ui_set_mode setup
|
|
|
|
test_suite "ui_intro / ui_picker_done copy"
|
|
ui_set_mode setup
|
|
FZF_SELECT_STATUS=cancelled
|
|
SELECTED_INDEXERS=()
|
|
out=$(ui_picker_done indexers)
|
|
assert_contains "$out" "Skipped indexers." "setup cancel is skip"
|
|
ui_set_mode edit
|
|
out=$(ui_picker_done indexers)
|
|
assert_contains "$out" "Cancelled — no change." "edit cancel is no change"
|
|
ui_set_mode setup
|
|
FZF_SELECT_STATUS=confirmed
|
|
out=$(ui_picker_done indexers)
|
|
assert_contains "$out" "No indexers selected." "setup confirm-empty"
|
|
SELECTED_SUBTITLE_LANGUAGES=()
|
|
out=$(ui_picker_done languages)
|
|
assert_contains "$out" "No languages selected." "setup confirm-empty languages"
|
|
ui_set_mode edit
|
|
out=$(ui_picker_done indexers)
|
|
assert_eq "" "$out" "edit confirm-empty is silent (applier syncs)"
|
|
|
|
test_summary
|