diff --git a/tests/functional/plots.py b/tests/functional/plots.py index bfa09ae5..aa5c7f4c 100644 --- a/tests/functional/plots.py +++ b/tests/functional/plots.py @@ -11,6 +11,19 @@ def with_confirmation(proc): proc.expect('test') +def refuse_with_confirmation(proc): + """Ensures that fix can be refused when confirmation enabled.""" + proc.sendline('ehco test') + + proc.sendline('fuck') + proc.expect('echo test') + proc.expect('enter') + proc.expect_exact('ctrl+c') + proc.send('\003') + + proc.expect('Aborted') + + def without_confirmation(proc): """Ensures that command can be fixed when confirmation disabled.""" proc.sendline('ehco test') diff --git a/tests/functional/test_bash.py b/tests/functional/test_bash.py index 674556b4..5efdee74 100644 --- a/tests/functional/test_bash.py +++ b/tests/functional/test_bash.py @@ -1,5 +1,6 @@ import pytest -from tests.functional.plots import with_confirmation, without_confirmation +from tests.functional.plots import with_confirmation, without_confirmation,\ + refuse_with_confirmation from tests.functional.utils import spawn, functional containers = [('ubuntu-python3-bash', ''' @@ -27,6 +28,14 @@ def test_with_confirmation(tag, dockerfile): with_confirmation(proc) +@functional +@pytest.mark.parametrize('tag, dockerfile', containers) +def test_refuse_with_confirmation(tag, dockerfile): + with spawn(tag, dockerfile) as proc: + proc.sendline('eval $(thefuck-alias)') + refuse_with_confirmation(proc) + + @functional @pytest.mark.parametrize('tag, dockerfile', containers) def test_without_confirmation(tag, dockerfile): diff --git a/tests/functional/test_fish.py b/tests/functional/test_fish.py index cc47d2f6..fd8d3158 100644 --- a/tests/functional/test_fish.py +++ b/tests/functional/test_fish.py @@ -1,5 +1,6 @@ import pytest -from tests.functional.plots import with_confirmation, without_confirmation +from tests.functional.plots import with_confirmation, without_confirmation, \ + refuse_with_confirmation from tests.functional.utils import spawn, functional containers = [('ubuntu-python3-bash', ''' @@ -28,6 +29,15 @@ def test_with_confirmation(tag, dockerfile): with_confirmation(proc) +@functional +@pytest.mark.parametrize('tag, dockerfile', containers) +def test_refuse_with_confirmation(tag, dockerfile): + with spawn(tag, dockerfile) as proc: + proc.sendline('thefuck-alias >> ~/.config/fish/config.fish') + proc.sendline('fish') + refuse_with_confirmation(proc) + + @functional @pytest.mark.parametrize('tag, dockerfile', containers) def test_without_confirmation(tag, dockerfile): diff --git a/tests/functional/test_zsh.py b/tests/functional/test_zsh.py index fde4818f..3fbfce23 100644 --- a/tests/functional/test_zsh.py +++ b/tests/functional/test_zsh.py @@ -1,6 +1,7 @@ import pytest from tests.functional.utils import spawn, functional -from tests.functional.plots import with_confirmation, without_confirmation +from tests.functional.plots import with_confirmation, without_confirmation,\ + refuse_with_confirmation containers = [('ubuntu-python3-zsh', ''' FROM ubuntu:latest @@ -27,6 +28,14 @@ def test_with_confirmation(tag, dockerfile): with_confirmation(proc) +@functional +@pytest.mark.parametrize('tag, dockerfile', containers) +def test_refuse_with_confirmation(tag, dockerfile): + with spawn(tag, dockerfile) as proc: + proc.sendline('eval $(thefuck-alias)') + refuse_with_confirmation(proc) + + @functional @pytest.mark.parametrize('tag, dockerfile', containers) def test_without_confirmation(tag, dockerfile):