gecko-dev/tools/lint/test/test_rustfmt.py

72 строки
1.6 KiB
Python

import mozunit
LINTER = "rustfmt"
fixed = 0
def test_good(lint, config, paths):
results = lint(paths("subdir/good.rs"))
print(results)
assert len(results) == 0
def test_basic(lint, config, paths):
results = lint(paths("subdir/bad.rs"))
print(results)
assert len(results) >= 1
assert "Reformat rust" in results[0].message
assert results[0].level == "warning"
assert results[0].lineno == 4
assert "bad.rs" in results[0].path
assert "Print text to the console" in results[0].diff
def test_dir(lint, config, paths):
results = lint(paths("subdir/"))
print(results)
assert len(results) >= 4
assert "Reformat rust" in results[0].message
assert results[0].level == "warning"
assert results[0].lineno == 4
assert "bad.rs" in results[0].path
assert "Print text to the console" in results[0].diff
assert "Reformat rust" in results[1].message
assert results[1].level == "warning"
assert results[1].lineno == 4
assert "bad2.rs" in results[1].path
assert "Print text to the console" in results[1].diff
def test_fix(lint, create_temp_file):
contents = """fn main() {
// Statements here are executed when the compiled binary is called
// Print text to the console
println!("Hello World!");
let mut a;
let mut b=1;
let mut vec = Vec::new();
vec.push(1);
vec.push(2);
for x in 5..10 - 5 {
a = x;
}
}
"""
path = create_temp_file(contents, "bad.rs")
lint([path], fix=True)
assert fixed == 3
if __name__ == "__main__":
mozunit.main()