#!/usr/bin/env bats

@test "Opening emacs loads oni-gui" {
    run emacs -batch -l package -f package-initialize \
        -eval "(prin1 (featurep 'oni-gui))"

    echo "$output"

    [[ "$output" == *"t" ]]
}

@test "Opening emacs diminishes isearch-mode" {
    run emacs -batch -l package -f package-initialize \
        -eval "(prin1 (string= (string ?\s oni-gui-isearch-icon)
                      (car (alist-get 'isearch-mode minor-mode-alist))))"

    echo "$output"

    [[ "$output" == *"t" ]]
}

@test "Reloading isearch diminishes isearch-mode" {
    run emacs -batch -l package -f package-initialize \
        -eval "(load-library \"isearch\")" \
        -eval "(prin1 (string= (string ?\s oni-gui-isearch-icon)
                               (car (alist-get 'isearch-mode minor-mode-alist))))"

    echo "$output"

    [[ "$output" == *"t" ]]
}

@test "Loading autorevert diminishes auto-revert-mode" {
    run emacs -batch -l package -f package-initialize \
        -l autorevert \
        -eval "(prin1 (string= (string ?\s oni-gui-arev-icon)
                               (car (alist-get 'auto-revert-mode minor-mode-alist))))"

    echo "$output"

    [[ "$output" == *"t" ]]
}

@test "Reloading autorevert diminishes auto-revert-mode" {
    run emacs -batch -l package -f package-initialize \
        -l autorevert \
        -eval "(load-library \"autorevert\")" \
        -eval "(prin1 (string= (string ?\s oni-gui-arev-icon)
                               (car (alist-get 'auto-revert-mode minor-mode-alist))))"

    echo "$output"

    [[ "$output" == *"t" ]]
}