mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
tidy check for vim and emacs modelines.
See https://github.com/servo/servo/issues/10719.
This commit is contained in:
parent
45562287e6
commit
b6b8ac6cd3
3 changed files with 22 additions and 1 deletions
|
@ -133,6 +133,14 @@ def check_license(file_name, lines):
|
||||||
yield (1, "incorrect license")
|
yield (1, "incorrect license")
|
||||||
|
|
||||||
|
|
||||||
|
def check_modeline(file_name, lines):
|
||||||
|
for idx, line in enumerate(lines[:5]):
|
||||||
|
if re.search('^.*[ \t](vi:|vim:|ex:)[ \t]', line):
|
||||||
|
yield (idx + 1, "vi modeline present")
|
||||||
|
elif re.search('-\*-.*-\*-', line, re.IGNORECASE):
|
||||||
|
yield (idx + 1, "emacs file variables present")
|
||||||
|
|
||||||
|
|
||||||
def check_length(file_name, idx, line):
|
def check_length(file_name, idx, line):
|
||||||
if file_name.endswith(".lock") or file_name.endswith(".json"):
|
if file_name.endswith(".lock") or file_name.endswith(".json"):
|
||||||
raise StopIteration
|
raise StopIteration
|
||||||
|
@ -638,7 +646,7 @@ def scan(faster=False, progress=True):
|
||||||
# standard checks
|
# standard checks
|
||||||
files_to_check = filter_files('.', faster, progress)
|
files_to_check = filter_files('.', faster, progress)
|
||||||
checking_functions = (check_flake8, check_lock, check_webidl_spec, check_json)
|
checking_functions = (check_flake8, check_lock, check_webidl_spec, check_json)
|
||||||
line_checking_functions = (check_license, check_by_line, check_toml, check_rust, check_spec)
|
line_checking_functions = (check_license, check_by_line, check_toml, check_rust, check_spec, check_modeline)
|
||||||
errors = collect_errors_for_files(files_to_check, checking_functions, line_checking_functions)
|
errors = collect_errors_for_files(files_to_check, checking_functions, line_checking_functions)
|
||||||
# wpt lint checks
|
# wpt lint checks
|
||||||
wpt_lint_errors = check_wpt_lint_errors(get_wpt_files(faster, progress))
|
wpt_lint_errors = check_wpt_lint_errors(get_wpt_files(faster, progress))
|
||||||
|
|
5
python/tidy/servo_tidy_tests/modeline.txt
Normal file
5
python/tidy/servo_tidy_tests/modeline.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# vim: set noexpandtab:
|
||||||
|
// vi: et:
|
||||||
|
/* ex: et:
|
||||||
|
anything -*-Lisp-*-
|
||||||
|
-*- mode: Lisp -*-
|
|
@ -75,6 +75,14 @@ class CheckTidiness(unittest.TestCase):
|
||||||
errors = tidy.collect_errors_for_files(iterFile('test.toml'), [tidy.check_toml], [])
|
errors = tidy.collect_errors_for_files(iterFile('test.toml'), [tidy.check_toml], [])
|
||||||
self.assertEqual('found asterisk instead of minimum version number', errors.next()[2])
|
self.assertEqual('found asterisk instead of minimum version number', errors.next()[2])
|
||||||
|
|
||||||
|
def test_modeline(self):
|
||||||
|
errors = tidy.collect_errors_for_files(iterFile('modeline.txt'), [], [tidy.check_modeline])
|
||||||
|
self.assertEqual('vi modeline present', errors.next()[2])
|
||||||
|
self.assertEqual('vi modeline present', errors.next()[2])
|
||||||
|
self.assertEqual('vi modeline present', errors.next()[2])
|
||||||
|
self.assertEqual('emacs file variables present', errors.next()[2])
|
||||||
|
self.assertEqual('emacs file variables present', errors.next()[2])
|
||||||
|
|
||||||
|
|
||||||
def do_tests():
|
def do_tests():
|
||||||
suite = unittest.TestLoader().loadTestsFromTestCase(CheckTidiness)
|
suite = unittest.TestLoader().loadTestsFromTestCase(CheckTidiness)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue