mirror of
https://github.com/nvbn/thefuck.git
synced 2025-02-21 20:38:54 +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'])
|
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):
|
def refuse_with_confirmation(proc):
|
||||||
"""Ensures that fix can be refused when confirmation enabled."""
|
"""Ensures that fix can be refused when confirmation enabled."""
|
||||||
proc.sendline(u'mkdir -p ~/.thefuck')
|
proc.sendline(u'mkdir -p ~/.thefuck')
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import pytest
|
import pytest
|
||||||
from tests.functional.plots import with_confirmation, without_confirmation, \
|
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
|
from tests.functional.utils import spawn, functional, images
|
||||||
|
|
||||||
containers = images(('ubuntu-python3-bash', u'''
|
containers = images(('ubuntu-python3-bash', u'''
|
||||||
@ -23,7 +23,9 @@ RUN pip2 install -U pip setuptools
|
|||||||
def test_with_confirmation(tag, dockerfile):
|
def test_with_confirmation(tag, dockerfile):
|
||||||
with spawn(tag, dockerfile, u'bash') as proc:
|
with spawn(tag, dockerfile, u'bash') as proc:
|
||||||
proc.sendline(u'eval $(thefuck-alias)')
|
proc.sendline(u'eval $(thefuck-alias)')
|
||||||
|
proc.sendline(u'touch $HISTFILE')
|
||||||
with_confirmation(proc)
|
with_confirmation(proc)
|
||||||
|
history_changed(proc)
|
||||||
|
|
||||||
|
|
||||||
@functional
|
@functional
|
||||||
@ -31,7 +33,9 @@ def test_with_confirmation(tag, dockerfile):
|
|||||||
def test_refuse_with_confirmation(tag, dockerfile):
|
def test_refuse_with_confirmation(tag, dockerfile):
|
||||||
with spawn(tag, dockerfile, u'bash') as proc:
|
with spawn(tag, dockerfile, u'bash') as proc:
|
||||||
proc.sendline(u'eval $(thefuck-alias)')
|
proc.sendline(u'eval $(thefuck-alias)')
|
||||||
|
proc.sendline(u'touch $HISTFILE')
|
||||||
refuse_with_confirmation(proc)
|
refuse_with_confirmation(proc)
|
||||||
|
history_not_changed(proc)
|
||||||
|
|
||||||
|
|
||||||
@functional
|
@functional
|
||||||
@ -39,4 +43,6 @@ def test_refuse_with_confirmation(tag, dockerfile):
|
|||||||
def test_without_confirmation(tag, dockerfile):
|
def test_without_confirmation(tag, dockerfile):
|
||||||
with spawn(tag, dockerfile, u'bash') as proc:
|
with spawn(tag, dockerfile, u'bash') as proc:
|
||||||
proc.sendline(u'eval $(thefuck-alias)')
|
proc.sendline(u'eval $(thefuck-alias)')
|
||||||
|
proc.sendline(u'touch $HISTFILE')
|
||||||
without_confirmation(proc)
|
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'thefuck-alias > ~/.config/fish/config.fish')
|
||||||
proc.sendline(u'fish')
|
proc.sendline(u'fish')
|
||||||
without_confirmation(proc)
|
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'tcsh')
|
||||||
proc.sendline(u'eval `thefuck-alias`')
|
proc.sendline(u'eval `thefuck-alias`')
|
||||||
without_confirmation(proc)
|
without_confirmation(proc)
|
||||||
|
|
||||||
|
# TODO: ensure that history changes.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import pytest
|
import pytest
|
||||||
from tests.functional.utils import spawn, functional, images
|
from tests.functional.utils import spawn, functional, images
|
||||||
from tests.functional.plots import with_confirmation, without_confirmation, \
|
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'''
|
containers = images(('ubuntu-python3-zsh', u'''
|
||||||
FROM ubuntu:latest
|
FROM ubuntu:latest
|
||||||
@ -23,7 +23,10 @@ RUN pip2 install -U pip setuptools
|
|||||||
def test_with_confirmation(tag, dockerfile):
|
def test_with_confirmation(tag, dockerfile):
|
||||||
with spawn(tag, dockerfile, u'zsh') as proc:
|
with spawn(tag, dockerfile, u'zsh') as proc:
|
||||||
proc.sendline(u'eval $(thefuck-alias)')
|
proc.sendline(u'eval $(thefuck-alias)')
|
||||||
|
proc.sendline(u'export HISTFILE=~/.zsh_history')
|
||||||
|
proc.sendline(u'touch $HISTFILE')
|
||||||
with_confirmation(proc)
|
with_confirmation(proc)
|
||||||
|
history_changed(proc)
|
||||||
|
|
||||||
|
|
||||||
@functional
|
@functional
|
||||||
@ -31,7 +34,10 @@ def test_with_confirmation(tag, dockerfile):
|
|||||||
def test_refuse_with_confirmation(tag, dockerfile):
|
def test_refuse_with_confirmation(tag, dockerfile):
|
||||||
with spawn(tag, dockerfile, u'zsh') as proc:
|
with spawn(tag, dockerfile, u'zsh') as proc:
|
||||||
proc.sendline(u'eval $(thefuck-alias)')
|
proc.sendline(u'eval $(thefuck-alias)')
|
||||||
|
proc.sendline(u'export HISTFILE=~/.zsh_history')
|
||||||
|
proc.sendline(u'touch $HISTFILE')
|
||||||
refuse_with_confirmation(proc)
|
refuse_with_confirmation(proc)
|
||||||
|
history_not_changed(proc)
|
||||||
|
|
||||||
|
|
||||||
@functional
|
@functional
|
||||||
@ -39,4 +45,7 @@ def test_refuse_with_confirmation(tag, dockerfile):
|
|||||||
def test_without_confirmation(tag, dockerfile):
|
def test_without_confirmation(tag, dockerfile):
|
||||||
with spawn(tag, dockerfile, u'zsh') as proc:
|
with spawn(tag, dockerfile, u'zsh') as proc:
|
||||||
proc.sendline(u'eval $(thefuck-alias)')
|
proc.sendline(u'eval $(thefuck-alias)')
|
||||||
|
proc.sendline(u'export HISTFILE=~/.zsh_history')
|
||||||
|
proc.sendline(u'touch $HISTFILE')
|
||||||
without_confirmation(proc)
|
without_confirmation(proc)
|
||||||
|
history_changed(proc)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user