servo: Merge #15649 - Rewrite the ban-type lint in Python (from zimio:issue-15591-rewrite-ban-type-lint); r=Wafflespeanut
<!-- Please describe your changes on the following line: --> Rewrite the ban-type lint in Python. Question: Should the old ban-type lint written in rust be deleted? --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x ] `./mach build -d` does not report any errors - [x ] `./mach test-tidy` does not report any errors - [x ] These changes fix #15591 <!-- Either: --> - [ x] There are tests for these changes <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: 261df34ced0bdcb8126994c8653ac101d1172085
This commit is contained in:
19
servo/python/tidy/servo_tidy_tests/ban-domrefcell.rs
Normal file
19
servo/python/tidy/servo_tidy_tests/ban-domrefcell.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
/* 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/. */
|
||||
|
||||
#![feature(plugin)]
|
||||
#![plugin(script_plugins)]
|
||||
|
||||
extern crate script;
|
||||
|
||||
use script::test::DOMRefCell;
|
||||
use script::test::JS;
|
||||
use script::test::Node;
|
||||
|
||||
struct Foo {
|
||||
bar: DOMRefCell<JS<Node>>
|
||||
//~^ ERROR Banned type DOMRefCell<JS<T>> detected. Use MutJS<JS<T>> instead
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
21
servo/python/tidy/servo_tidy_tests/ban.rs
Normal file
21
servo/python/tidy/servo_tidy_tests/ban.rs
Normal file
@@ -0,0 +1,21 @@
|
||||
/* 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/. */
|
||||
|
||||
#![feature(plugin)]
|
||||
#![plugin(script_plugins)]
|
||||
|
||||
extern crate js;
|
||||
|
||||
use js::jsval::JSVal;
|
||||
use std::cell::Cell;
|
||||
use std::cell::UnsafeCell;
|
||||
|
||||
struct Foo {
|
||||
bar: Cell<JSVal>,
|
||||
//~^ ERROR Banned type Cell<JSVal> detected. Use MutJS<JSVal> instead
|
||||
foo: UnsafeCell<JSVal>
|
||||
//~^ NOT AN ERROR
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -140,6 +140,14 @@ class CheckTidiness(unittest.TestCase):
|
||||
self.assertTrue('feature attribute is not in alphabetical order' in feature_errors.next()[2])
|
||||
self.assertNoMoreErrors(feature_errors)
|
||||
|
||||
ban_errors = tidy.collect_errors_for_files(iterFile('ban.rs'), [], [tidy.check_rust], print_text=False)
|
||||
self.assertEqual('Banned type Cell<JSVal> detected. Use MutJS<JSVal> instead', ban_errors.next()[2])
|
||||
self.assertNoMoreErrors(ban_errors)
|
||||
|
||||
ban_errors = tidy.collect_errors_for_files(iterFile('ban-domrefcell.rs'), [], [tidy.check_rust], print_text=False)
|
||||
self.assertEqual('Banned type DOMRefCell<JS<T>> detected. Use MutJS<JS<T>> instead', ban_errors.next()[2])
|
||||
self.assertNoMoreErrors(ban_errors)
|
||||
|
||||
def test_spec_link(self):
|
||||
tidy.SPEC_BASE_PATH = base_path
|
||||
errors = tidy.collect_errors_for_files(iterFile('speclink.rs'), [], [tidy.check_spec], print_text=False)
|
||||
|
||||
Reference in New Issue
Block a user