mirror of
https://github.com/nvbn/thefuck.git
synced 2025-02-20 20:09:07 +00:00
Add tests for history changes fro bash and zsh
This commit is contained in:
parent
c0002fe6e0
commit
8f6d8b1dd1
@ -17,6 +17,18 @@ def with_confirmation(proc):
|
||||
assert proc.expect([TIMEOUT, u'test'])
|
||||
|
||||
|
||||
def history_changed(proc):
|
||||
"""Ensures that history changed."""
|
||||
proc.send('\033[A')
|
||||
assert proc.expect([TIMEOUT, 'echo test'])
|
||||
|
||||
|
||||
def history_not_changed(proc):
|
||||
"""Ensures that history not changed."""
|
||||
proc.send('\033[A')
|
||||
assert proc.expect([TIMEOUT, 'fuck'])
|
||||
|
||||
|
||||
def refuse_with_confirmation(proc):
|
||||
"""Ensures that fix can be refused when confirmation enabled."""
|
||||
proc.sendline(u'mkdir -p ~/.thefuck')
|
||||
|
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
from tests.functional.plots import with_confirmation, without_confirmation, \
|
||||
refuse_with_confirmation
|
||||
refuse_with_confirmation, history_changed, history_not_changed
|
||||
from tests.functional.utils import spawn, functional, images
|
||||
|
||||
containers = images(('ubuntu-python3-bash', u'''
|
||||
@ -23,7 +23,9 @@ RUN pip2 install -U pip setuptools
|
||||
def test_with_confirmation(tag, dockerfile):
|
||||
with spawn(tag, dockerfile, u'bash') as proc:
|
||||
proc.sendline(u'eval $(thefuck-alias)')
|
||||
proc.sendline(u'touch $HISTFILE')
|
||||
with_confirmation(proc)
|
||||
history_changed(proc)
|
||||
|
||||
|
||||
@functional
|
||||
@ -31,7 +33,9 @@ def test_with_confirmation(tag, dockerfile):
|
||||
def test_refuse_with_confirmation(tag, dockerfile):
|
||||
with spawn(tag, dockerfile, u'bash') as proc:
|
||||
proc.sendline(u'eval $(thefuck-alias)')
|
||||
proc.sendline(u'touch $HISTFILE')
|
||||
refuse_with_confirmation(proc)
|
||||
history_not_changed(proc)
|
||||
|
||||
|
||||
@functional
|
||||
@ -39,4 +43,6 @@ def test_refuse_with_confirmation(tag, dockerfile):
|
||||
def test_without_confirmation(tag, dockerfile):
|
||||
with spawn(tag, dockerfile, u'bash') as proc:
|
||||
proc.sendline(u'eval $(thefuck-alias)')
|
||||
proc.sendline(u'touch $HISTFILE')
|
||||
without_confirmation(proc)
|
||||
history_changed(proc)
|
||||
|
@ -49,3 +49,5 @@ def test_without_confirmation(tag, dockerfile):
|
||||
proc.sendline(u'thefuck-alias > ~/.config/fish/config.fish')
|
||||
proc.sendline(u'fish')
|
||||
without_confirmation(proc)
|
||||
|
||||
# TODO: ensure that history changes.
|
||||
|
@ -43,3 +43,5 @@ def test_without_confirmation(tag, dockerfile):
|
||||
proc.sendline(u'tcsh')
|
||||
proc.sendline(u'eval `thefuck-alias`')
|
||||
without_confirmation(proc)
|
||||
|
||||
# TODO: ensure that history changes.
|
||||
|
@ -1,7 +1,7 @@
|
||||
import pytest
|
||||
from tests.functional.utils import spawn, functional, images
|
||||
from tests.functional.plots import with_confirmation, without_confirmation, \
|
||||
refuse_with_confirmation
|
||||
refuse_with_confirmation, history_changed, history_not_changed
|
||||
|
||||
containers = images(('ubuntu-python3-zsh', u'''
|
||||
FROM ubuntu:latest
|
||||
@ -23,7 +23,10 @@ RUN pip2 install -U pip setuptools
|
||||
def test_with_confirmation(tag, dockerfile):
|
||||
with spawn(tag, dockerfile, u'zsh') as proc:
|
||||
proc.sendline(u'eval $(thefuck-alias)')
|
||||
proc.sendline(u'export HISTFILE=~/.zsh_history')
|
||||
proc.sendline(u'touch $HISTFILE')
|
||||
with_confirmation(proc)
|
||||
history_changed(proc)
|
||||
|
||||
|
||||
@functional
|
||||
@ -31,7 +34,10 @@ def test_with_confirmation(tag, dockerfile):
|
||||
def test_refuse_with_confirmation(tag, dockerfile):
|
||||
with spawn(tag, dockerfile, u'zsh') as proc:
|
||||
proc.sendline(u'eval $(thefuck-alias)')
|
||||
proc.sendline(u'export HISTFILE=~/.zsh_history')
|
||||
proc.sendline(u'touch $HISTFILE')
|
||||
refuse_with_confirmation(proc)
|
||||
history_not_changed(proc)
|
||||
|
||||
|
||||
@functional
|
||||
@ -39,4 +45,7 @@ def test_refuse_with_confirmation(tag, dockerfile):
|
||||
def test_without_confirmation(tag, dockerfile):
|
||||
with spawn(tag, dockerfile, u'zsh') as proc:
|
||||
proc.sendline(u'eval $(thefuck-alias)')
|
||||
proc.sendline(u'export HISTFILE=~/.zsh_history')
|
||||
proc.sendline(u'touch $HISTFILE')
|
||||
without_confirmation(proc)
|
||||
history_changed(proc)
|
||||
|
Loading…
x
Reference in New Issue
Block a user