mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-30 22:54:14 +00:00 
			
		
		
		
	Stop parsing language-variable cat output to make cat_dir more reliable. (#827)
* Stop parsing language-variable cat output to make cat_dir more reliable. * Add missing semicolon in readme
This commit is contained in:
		
				
					committed by
					
						 Vladimir Iakovlev
						Vladimir Iakovlev
					
				
			
			
				
	
			
			
			
						parent
						
							fe0785bc42
						
					
				
				
					commit
					1dfd6373ee
				
			| @@ -3,20 +3,29 @@ from thefuck.rules.cat_dir import match, get_new_command | ||||
| from thefuck.types import Command | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def isdir(mocker): | ||||
|     return mocker.patch('thefuck.rules.cat_dir' | ||||
|                         '.os.path.isdir') | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command('cat foo', 'cat: foo: Is a directory\n'), | ||||
|     Command('cat /foo/bar/', 'cat: /foo/bar/: Is a directory\n'), | ||||
|     Command('cat cat/', 'cat: cat/: Is a directory\n'), | ||||
| ]) | ||||
| def test_match(command): | ||||
| def test_match(command, isdir): | ||||
|     isdir.return_value = True | ||||
|     assert match(command) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command('cat foo', 'foo bar baz'), | ||||
|     Command('cat foo bar', 'foo bar baz'), | ||||
|     Command('notcat foo bar', 'some output'), | ||||
| ]) | ||||
| def test_not_match(command): | ||||
| def test_not_match(command, isdir): | ||||
|     isdir.return_value = False | ||||
|     assert not match(command) | ||||
|  | ||||
|  | ||||
| @@ -26,4 +35,5 @@ def test_not_match(command): | ||||
|     (Command('cat cat', 'cat: cat: Is a directory\n'), 'ls cat'), | ||||
| ]) | ||||
| def test_get_new_command(command, new_command): | ||||
|     isdir.return_value = True | ||||
|     assert get_new_command(command) == new_command | ||||
|   | ||||
		Reference in New Issue
	
	Block a user