mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-30 22:54:14 +00:00 
			
		
		
		
	Add rule to remove leading shell prompt literal $ (#996)
* Add rule to remove shell prompt literals $ Rule added to handle cases where the $ symbol is used in the command, this usually happens when the command is copy pasted from a documentation that includes the shell prompt symbol in the code blocks. * Change files using black and flake8 style check * Refactor tests and rule - Refactor test for cleaner test tables - Removed unnecessary requires_output=True option
This commit is contained in:
		
				
					committed by
					
						 Vladimir Iakovlev
						Vladimir Iakovlev
					
				
			
			
				
	
			
			
			
						parent
						
							d85099b8da
						
					
				
				
					commit
					793510ad48
				
			
							
								
								
									
										38
									
								
								tests/rules/test_remove_shell_prompt_literal.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								tests/rules/test_remove_shell_prompt_literal.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| import pytest | ||||
| from thefuck.rules.remove_shell_prompt_literal import match, get_new_command | ||||
| from thefuck.types import Command | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def output(): | ||||
|     return "$: command not found" | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize("script", ["$ cd newdir", " $ cd newdir"]) | ||||
| def test_match(script, output): | ||||
|     assert match(Command(script, output)) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize( | ||||
|     "command", | ||||
|     [ | ||||
|         Command("$", "$: command not found"), | ||||
|         Command(" $", "$: command not found"), | ||||
|         Command("$?", "127: command not found"), | ||||
|         Command(" $?", "127: command not found"), | ||||
|         Command("", ""), | ||||
|     ], | ||||
| ) | ||||
| def test_not_match(command): | ||||
|     assert not match(command) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize( | ||||
|     "script, new_command", | ||||
|     [ | ||||
|         ("$ cd newdir", "cd newdir"), | ||||
|         ("$ python3 -m virtualenv env", "python3 -m virtualenv env"), | ||||
|     ], | ||||
| ) | ||||
| def test_get_new_command(script, new_command, output): | ||||
|     assert get_new_command(Command(script, output)) == new_command | ||||
		Reference in New Issue
	
	Block a user