Test for check_spec function, for tidy.py #9152

This commit is contained in:
Maciej Skrzypkowski 2016-04-13 12:18:13 +02:00
parent e8e354d5d3
commit 13847a1131
3 changed files with 18 additions and 3 deletions

View file

@ -69,6 +69,8 @@ ignored_dirs = [
os.path.join(".", "."),
]
spec_base_path = "components/script/dom/"
def is_iter_empty(iterator):
try:
@ -525,10 +527,9 @@ def check_json(filename, contents):
def check_spec(file_name, lines):
base_path = "components/script/dom/"
if base_path not in file_name:
if spec_base_path not in file_name:
raise StopIteration
file_name = os.path.relpath(os.path.splitext(file_name)[0], base_path)
file_name = os.path.relpath(os.path.splitext(file_name)[0], spec_base_path)
patt = re.compile("^\s*\/\/.+")
# Pattern representing a line with a macro

View file

@ -0,0 +1,9 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
impl SpecLinkMethods for SpecLink {
fn Test(&self) -> f32 {
0
}
}

View file

@ -59,6 +59,11 @@ class CheckTidiness(unittest.TestCase):
self.assertEqual('use &[T] instead of &Vec<T>', errors.next()[2])
self.assertEqual('use &str instead of &String', errors.next()[2])
def test_spec_link(self):
tidy.spec_base_path = "python/tidy_self_test/"
errors = tidy.collect_errors_for_files(iterFile('speclink.rs'), [], [tidy.check_spec])
self.assertEqual('method declared in webidl is missing a comment with a specification link', errors.next()[2])
def test_webidl(self):
errors = tidy.collect_errors_for_files(iterFile('spec.webidl'), [tidy.check_webidl_spec], [])
self.assertEqual('No specification link found.', errors.next()[2])