mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 23:22:10 +00:00 
			
		
		
		
	Add tests for history changes fro bash and zsh
This commit is contained in:
		| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user