Fix ordering use statements with braces

This commit is contained in:
UK992 2016-09-08 16:08:38 +02:00
parent 5a5a76cc5d
commit 875981ece5
2 changed files with 8 additions and 4 deletions

View file

@ -516,7 +516,10 @@ def check_rust(file_name, lines):
yield (idx + 1, "use statement spans multiple lines") yield (idx + 1, "use statement spans multiple lines")
# strip "use" from the begin and ";" from the end # strip "use" from the begin and ";" from the end
current_use = line[4:-1] current_use = line[4:-1]
if indent == current_indent and prev_use and current_use < prev_use: if prev_use:
current_use_cut = current_use.replace("{self,", ".").replace("{", ".")
prev_use_cut = prev_use.replace("{self,", ".").replace("{", ".")
if indent == current_indent and current_use_cut < prev_use_cut:
yield(idx + 1, decl_message.format("use statement") yield(idx + 1, decl_message.format("use statement")
+ decl_expected.format(prev_use) + decl_expected.format(prev_use)
+ decl_found.format(current_use)) + decl_found.format(current_use))

View file

@ -85,6 +85,7 @@ class CheckTidiness(unittest.TestCase):
self.assertEqual('missing space before }', errors.next()[2]) self.assertEqual('missing space before }', errors.next()[2])
self.assertTrue('use statement is not in alphabetical order' in errors.next()[2]) self.assertTrue('use statement is not in alphabetical order' in errors.next()[2])
self.assertEqual('use statement contains braces for single import', errors.next()[2]) self.assertEqual('use statement contains braces for single import', errors.next()[2])
self.assertTrue('use statement is not in alphabetical order' in errors.next()[2])
self.assertEqual('encountered whitespace following a use statement', errors.next()[2]) self.assertEqual('encountered whitespace following a use statement', errors.next()[2])
self.assertTrue('mod declaration is not in alphabetical order' in errors.next()[2]) self.assertTrue('mod declaration is not in alphabetical order' in errors.next()[2])
self.assertEqual('mod declaration spans multiple lines', errors.next()[2]) self.assertEqual('mod declaration spans multiple lines', errors.next()[2])