| // Take a look at the license at the top of the repository in the LICENSE file. |
| |
| use super::utils::{show_error, TestResult}; |
| use std::path::Path; |
| |
| pub fn check_license_header(content: &str, p: &Path) -> TestResult { |
| let mut lines = content.lines(); |
| let next = lines.next(); |
| let header = "// Take a look at the license at the top of the repository in the LICENSE file."; |
| |
| match next { |
| Some(s) if s == header => { |
| let next = lines.next(); |
| match next { |
| Some("") => TestResult { |
| nb_tests: 1, |
| nb_errors: 0, |
| }, |
| Some(s) => { |
| show_error( |
| p, |
| &format!("Expected empty line after license header, found `{s}`"), |
| ); |
| TestResult { |
| nb_tests: 1, |
| nb_errors: 1, |
| } |
| } |
| None => { |
| show_error(p, "This file should very likely not exist..."); |
| TestResult { |
| nb_tests: 1, |
| nb_errors: 1, |
| } |
| } |
| } |
| } |
| Some(s) => { |
| show_error( |
| p, |
| &format!( |
| "Expected license header at the top of the file (`{header}`), found: `{s}`", |
| ), |
| ); |
| TestResult { |
| nb_tests: 1, |
| nb_errors: 1, |
| } |
| } |
| None => { |
| show_error(p, "This (empty?) file should very likely not exist..."); |
| TestResult { |
| nb_tests: 1, |
| nb_errors: 1, |
| } |
| } |
| } |
| } |