mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-18 20:11:17 +00: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:
parent
f82176802e
commit
81b39defe4
@ -8,56 +8,92 @@ from thefuck.types import Command
|
|||||||
|
|
||||||
# (script, file, line, col (or None), output)
|
# (script, file, line, col (or None), output)
|
||||||
tests = (
|
tests = (
|
||||||
('gcc a.c', 'a.c', 3, 1,
|
(
|
||||||
"""
|
"gcc a.c",
|
||||||
|
"a.c",
|
||||||
|
3,
|
||||||
|
1,
|
||||||
|
"""
|
||||||
a.c: In function 'main':
|
a.c: In function 'main':
|
||||||
a.c:3:1: error: expected expression before '}' token
|
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
|
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
|
syntax error at a.pl line 3, at EOF
|
||||||
Execution of a.pl aborted due to compilation errors.
|
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.
|
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
|
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
|
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
|
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:5: 2:6 error: unexpected token: `+`
|
||||||
a.rs:2 +
|
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)
|
Compiling test v0.1.0 (file:///tmp/fix-error/test)
|
||||||
src/lib.rs:3:5: 3:6 error: unexpected token: `+`
|
src/lib.rs:3:5: 3:6 error: unexpected token: `+`
|
||||||
src/lib.rs:3 +
|
src/lib.rs:3 +
|
||||||
@ -65,18 +101,26 @@ a.rs:2 +
|
|||||||
Could not compile `test`.
|
Could not compile `test`.
|
||||||
|
|
||||||
To learn more, run the command again with --verbose.
|
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
|
File "a.py", line 2
|
||||||
+
|
+
|
||||||
^
|
^
|
||||||
SyntaxError: invalid syntax
|
SyntaxError: invalid syntax
|
||||||
"""),
|
""",
|
||||||
|
),
|
||||||
('python a.py', 'a.py', 8, None,
|
(
|
||||||
"""
|
"python a.py",
|
||||||
|
"a.py",
|
||||||
|
8,
|
||||||
|
None,
|
||||||
|
"""
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
File "a.py", line 8, in <module>
|
File "a.py", line 8, in <module>
|
||||||
match("foo")
|
match("foo")
|
||||||
@ -87,10 +131,14 @@ Traceback (most recent call last):
|
|||||||
File "/usr/lib/python3.4/re.py", line 293, in _compile
|
File "/usr/lib/python3.4/re.py", line 293, in _compile
|
||||||
raise TypeError("first argument must be string or compiled pattern")
|
raise TypeError("first argument must be string or compiled pattern")
|
||||||
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):
|
Traceback (most recent call last):
|
||||||
File "café.py", line 8, in <module>
|
File "café.py", line 8, in <module>
|
||||||
match("foo")
|
match("foo")
|
||||||
@ -101,59 +149,95 @@ Traceback (most recent call last):
|
|||||||
File "/usr/lib/python3.4/re.py", line 293, in _compile
|
File "/usr/lib/python3.4/re.py", line 293, in _compile
|
||||||
raise TypeError("first argument must be string or compiled pattern")
|
raise TypeError("first argument must be string or compiled pattern")
|
||||||
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
|
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 '+'
|
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'
|
fish: Unknown command 'foo'
|
||||||
/tmp/fix-error/a.sh (line 2): 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: BEGIN { print "Hello, world!" + }
|
||||||
awk: ./a:2: ^ syntax error
|
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
|
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:
|
can't load package:
|
||||||
a.go:1:2: expected 'package', found '+'
|
a.go:1:2: expected 'package', found '+'
|
||||||
"""),
|
""",
|
||||||
|
),
|
||||||
('make', 'Makefile', 2, None,
|
(
|
||||||
"""
|
"make",
|
||||||
|
"Makefile",
|
||||||
|
2,
|
||||||
|
None,
|
||||||
|
"""
|
||||||
bidule
|
bidule
|
||||||
make: bidule: Command not found
|
make: bidule: Command not found
|
||||||
Makefile:2: recipe for target 'target' failed
|
Makefile:2: recipe for target 'target' failed
|
||||||
make: *** [target] Error 127
|
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
|
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
|
/Users/pablo/Workspace/barebones/fuck.js:2
|
||||||
conole.log(arg); // this should read console.log(arg);
|
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 Function.Module.runMain (module.js:501:10)
|
||||||
at startup (node.js:129:16)
|
at startup (node.js:129:16)
|
||||||
at node.js:814:3
|
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: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_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:20:80: E501 line too long (89 > 79 characters)
|
||||||
./tests/rules/test_whois.py:22:80: E501 line too long (83 > 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>
|
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")
|
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
|
E NameError: name 'mocker' is not defined
|
||||||
|
|
||||||
/home/thefuck/tests/rules/test_fix_file.py:218: NameError
|
/home/thefuck/tests/rules/test_fix_file.py:218: NameError
|
||||||
"""),
|
""",
|
||||||
) # noqa
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('test', tests)
|
@pytest.mark.parametrize('test', tests)
|
||||||
|
@ -71,7 +71,7 @@ def organize_commands(corrected_commands):
|
|||||||
without_duplicates,
|
without_duplicates,
|
||||||
key=lambda corrected_command: corrected_command.priority)
|
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)))
|
', '.join(u'{}'.format(cmd) for cmd in [first_command] + sorted_commands)))
|
||||||
|
|
||||||
for command in sorted_commands:
|
for command in sorted_commands:
|
||||||
|
@ -122,7 +122,7 @@ class Rule(object):
|
|||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return 'Rule(name={}, match={}, get_new_command={}, ' \
|
return 'Rule(name={}, match={}, get_new_command={}, ' \
|
||||||
'enabled_by_default={}, side_effect={}, ' \
|
'enabled_by_default={}, side_effect={}, ' \
|
||||||
'priority={}, requires_output)'.format(
|
'priority={}, requires_output={})'.format(
|
||||||
self.name, self.match, self.get_new_command,
|
self.name, self.match, self.get_new_command,
|
||||||
self.enabled_by_default, self.side_effect,
|
self.enabled_by_default, self.side_effect,
|
||||||
self.priority, self.requires_output)
|
self.priority, self.requires_output)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user