mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-27 02:54:23 +01:00
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import sys
|
|
import unittest.mock as mock
|
|
|
|
from goose.utils.autocomplete import SUPPORTED_SHELLS, is_autocomplete_installed, setup_autocomplete
|
|
|
|
|
|
def test_supported_shells():
|
|
assert SUPPORTED_SHELLS == ["bash", "zsh", "fish"]
|
|
|
|
|
|
def test_install_autocomplete(tmp_path):
|
|
file = tmp_path / "test_bash_autocomplete"
|
|
assert is_autocomplete_installed(file) is False
|
|
|
|
file.write_text("_GOOSE_COMPLETE")
|
|
assert is_autocomplete_installed(file) is True
|
|
|
|
|
|
@mock.patch("sys.stdout")
|
|
def test_setup_bash(mocker: mock.MagicMock):
|
|
setup_autocomplete("bash", install=False)
|
|
sys.stdout.write.assert_called_with('eval "$(_GOOSE_COMPLETE=bash_source goose)"\n')
|
|
|
|
|
|
@mock.patch("sys.stdout")
|
|
def test_setup_zsh(mocker: mock.MagicMock):
|
|
setup_autocomplete("zsh", install=False)
|
|
sys.stdout.write.assert_called_with('eval "$(_GOOSE_COMPLETE=zsh_source goose)"\n')
|
|
|
|
|
|
@mock.patch("sys.stdout")
|
|
def test_setup_fish(mocker: mock.MagicMock):
|
|
setup_autocomplete("fish", install=False)
|
|
sys.stdout.write.assert_called_with("_GOOSE_COMPLETE=fish_source goose | source\n")
|