1
0
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:
nvbn 2015-07-27 17:28:09 +03:00
parent c0002fe6e0
commit 8f6d8b1dd1
5 changed files with 33 additions and 2 deletions

View File

@ -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')

View File

@ -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)

View File

@ -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.

View File

@ -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.

View File

@ -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)