mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 07:04:12 +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']) |     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) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user