1
0
mirror of https://github.com/nvbn/thefuck.git synced 2024-10-05 18:31:10 +01:00

#N/A: Fix formatting (#1092)

* Fixed corrector.py format string

* Fixed types.py format string

* Fixed tests/rules/test_fix_file.py formatting

* Removed trailing whitespace

* Fixed UnicodeEncodeError in python 2.7
This commit is contained in:
Divya Jain 2020-06-10 22:21:45 +00:00 committed by GitHub
parent f82176802e
commit 81b39defe4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 187 additions and 94 deletions

View File

@ -8,56 +8,92 @@ from thefuck.types import Command
# (script, file, line, col (or None), output)
tests = (
('gcc a.c', 'a.c', 3, 1,
"""
(
"gcc a.c",
"a.c",
3,
1,
"""
a.c: In function 'main':
a.c:3:1: error: expected expression before '}' token
}
^
"""),
('clang a.c', 'a.c', 3, 1,
"""
""",
),
(
"clang a.c",
"a.c",
3,
1,
"""
a.c:3:1: error: expected expression
}
^
"""),
('perl a.pl', 'a.pl', 3, None,
"""
""",
),
(
"perl a.pl",
"a.pl",
3,
None,
"""
syntax error at a.pl line 3, at EOF
Execution of a.pl aborted due to compilation errors.
"""),
('perl a.pl', 'a.pl', 2, None,
"""
""",
),
(
"perl a.pl",
"a.pl",
2,
None,
"""
Search pattern not terminated at a.pl line 2.
"""),
('sh a.sh', 'a.sh', 2, None,
"""
""",
),
(
"sh a.sh",
"a.sh",
2,
None,
"""
a.sh: line 2: foo: command not found
"""),
('zsh a.sh', 'a.sh', 2, None,
"""
""",
),
(
"zsh a.sh",
"a.sh",
2,
None,
"""
a.sh:2: command not found: foo
"""),
('bash a.sh', 'a.sh', 2, None,
"""
""",
),
(
"bash a.sh",
"a.sh",
2,
None,
"""
a.sh: line 2: foo: command not found
"""),
('rustc a.rs', 'a.rs', 2, 5,
"""
""",
),
(
"rustc a.rs",
"a.rs",
2,
5,
"""
a.rs:2:5: 2:6 error: unexpected token: `+`
a.rs:2 +
^
"""),
('cargo build', 'src/lib.rs', 3, 5,
"""
""",
),
(
"cargo build",
"src/lib.rs",
3,
5,
"""
Compiling test v0.1.0 (file:///tmp/fix-error/test)
src/lib.rs:3:5: 3:6 error: unexpected token: `+`
src/lib.rs:3 +
@ -65,18 +101,26 @@ a.rs:2 +
Could not compile `test`.
To learn more, run the command again with --verbose.
"""),
('python a.py', 'a.py', 2, None,
"""
""",
),
(
"python a.py",
"a.py",
2,
None,
"""
File "a.py", line 2
+
^
SyntaxError: invalid syntax
"""),
('python a.py', 'a.py', 8, None,
"""
""",
),
(
"python a.py",
"a.py",
8,
None,
"""
Traceback (most recent call last):
File "a.py", line 8, in <module>
match("foo")
@ -87,10 +131,14 @@ Traceback (most recent call last):
File "/usr/lib/python3.4/re.py", line 293, in _compile
raise TypeError("first argument must be string or compiled pattern")
TypeError: first argument must be string or compiled pattern
"""),
(u'python café.py', u'café.py', 8, None,
u"""
""",
),
(
u"python café.py",
u"café.py",
8,
None,
u"""
Traceback (most recent call last):
File "café.py", line 8, in <module>
match("foo")
@ -101,59 +149,95 @@ Traceback (most recent call last):
File "/usr/lib/python3.4/re.py", line 293, in _compile
raise TypeError("first argument must be string or compiled pattern")
TypeError: first argument must be string or compiled pattern
"""),
('ruby a.rb', 'a.rb', 3, None,
"""
""",
),
(
"ruby a.rb",
"a.rb",
3,
None,
"""
a.rb:3: syntax error, unexpected keyword_end
"""),
('lua a.lua', 'a.lua', 2, None,
"""
""",
),
(
"lua a.lua",
"a.lua",
2,
None,
"""
lua: a.lua:2: unexpected symbol near '+'
"""),
('fish a.sh', '/tmp/fix-error/a.sh', 2, None,
"""
""",
),
(
"fish a.sh",
"/tmp/fix-error/a.sh",
2,
None,
"""
fish: Unknown command 'foo'
/tmp/fix-error/a.sh (line 2): foo
^
"""),
('./a', './a', 2, None,
"""
""",
),
(
"./a",
"./a",
2,
None,
"""
awk: ./a:2: BEGIN { print "Hello, world!" + }
awk: ./a:2: ^ syntax error
"""),
('llc a.ll', 'a.ll', 1, 2,
"""
""",
),
(
"llc a.ll",
"a.ll",
1,
2,
"""
llc: a.ll:1:2: error: expected top-level entity
+
^
"""),
('go build a.go', 'a.go', 1, 2,
"""
""",
),
(
"go build a.go",
"a.go",
1,
2,
"""
can't load package:
a.go:1:2: expected 'package', found '+'
"""),
('make', 'Makefile', 2, None,
"""
""",
),
(
"make",
"Makefile",
2,
None,
"""
bidule
make: bidule: Command not found
Makefile:2: recipe for target 'target' failed
make: *** [target] Error 127
"""),
('git st', '/home/martin/.config/git/config', 1, None,
"""
""",
),
(
"git st",
"/home/martin/.config/git/config",
1,
None,
"""
fatal: bad config file line 1 in /home/martin/.config/git/config
"""),
('node fuck.js asdf qwer', '/Users/pablo/Workspace/barebones/fuck.js', '2', 5,
"""
""",
),
(
"node fuck.js asdf qwer",
"/Users/pablo/Workspace/barebones/fuck.js",
"2",
5,
"""
/Users/pablo/Workspace/barebones/fuck.js:2
conole.log(arg); // this should read console.log(arg);
^
@ -168,18 +252,26 @@ ReferenceError: conole is not defined
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
"""),
('pep8', './tests/rules/test_systemctl.py', 17, 80,
"""
""",
),
(
"pep8",
"./tests/rules/test_systemctl.py",
17,
80,
"""
./tests/rules/test_systemctl.py:17:80: E501 line too long (93 > 79 characters)
./tests/rules/test_systemctl.py:18:80: E501 line too long (103 > 79 characters)
./tests/rules/test_whois.py:20:80: E501 line too long (89 > 79 characters)
./tests/rules/test_whois.py:22:80: E501 line too long (83 > 79 characters)
"""),
('py.test', '/home/thefuck/tests/rules/test_fix_file.py', 218, None,
"""
""",
),
(
"py.test",
"/home/thefuck/tests/rules/test_fix_file.py",
218,
None,
"""
monkeypatch = <_pytest.monkeypatch.monkeypatch object at 0x7fdb76a25b38>
test = ('fish a.sh', '/tmp/fix-error/a.sh', 2, None, '', "\\nfish: Unknown command 'foo'\\n/tmp/fix-error/a.sh (line 2): foo\\n ^\\n")
@ -190,8 +282,9 @@ test = ('fish a.sh', '/tmp/fix-error/a.sh', 2, None, '', "\\nfish: Unknown comma
E NameError: name 'mocker' is not defined
/home/thefuck/tests/rules/test_fix_file.py:218: NameError
"""),
) # noqa
""",
),
)
@pytest.mark.parametrize('test', tests)

View File

@ -71,7 +71,7 @@ def organize_commands(corrected_commands):
without_duplicates,
key=lambda corrected_command: corrected_command.priority)
logs.debug('Corrected commands: '.format(
logs.debug(u'Corrected commands: {}'.format(
', '.join(u'{}'.format(cmd) for cmd in [first_command] + sorted_commands)))
for command in sorted_commands:

View File

@ -122,7 +122,7 @@ class Rule(object):
def __repr__(self):
return 'Rule(name={}, match={}, get_new_command={}, ' \
'enabled_by_default={}, side_effect={}, ' \
'priority={}, requires_output)'.format(
'priority={}, requires_output={})'.format(
self.name, self.match, self.get_new_command,
self.enabled_by_default, self.side_effect,
self.priority, self.requires_output)