Improve theme checker by removing unneeded conditions

This commit is contained in:
Guillaume Gomez 2019-05-27 15:25:01 +02:00
parent 165a95b371
commit 640bdbdb1d

View File

@ -103,7 +103,7 @@ fn is_line_comment(pos: usize, v: &[u8], events: &[Events]) -> bool {
if let Some(&Events::StartComment(_)) = events.last() { if let Some(&Events::StartComment(_)) = events.last() {
return false; return false;
} }
pos + 1 < v.len() && v[pos + 1] == b'/' v[pos + 1] == b'/'
} }
fn load_css_events(v: &[u8]) -> Vec<Events> { fn load_css_events(v: &[u8]) -> Vec<Events> {
@ -112,7 +112,7 @@ fn load_css_events(v: &[u8]) -> Vec<Events> {
while pos + 1 < v.len() { while pos + 1 < v.len() {
match v[pos] { match v[pos] {
b'/' if pos + 1 < v.len() && v[pos + 1] == b'*' => { b'/' if v[pos + 1] == b'*' => {
events.push(Events::StartComment(pos)); events.push(Events::StartComment(pos));
pos += 1; pos += 1;
} }
@ -123,7 +123,7 @@ fn load_css_events(v: &[u8]) -> Vec<Events> {
b'\n' if previous_is_line_comment(&events) => { b'\n' if previous_is_line_comment(&events) => {
events.push(Events::EndComment(pos)); events.push(Events::EndComment(pos));
} }
b'*' if pos + 1 < v.len() && v[pos + 1] == b'/' => { b'*' if v[pos + 1] == b'/' => {
events.push(Events::EndComment(pos + 2)); events.push(Events::EndComment(pos + 2));
pos += 1; pos += 1;
} }
@ -264,9 +264,11 @@ pub fn get_differences(against: &CssPath, other: &CssPath, v: &mut Vec<String>)
} }
} }
pub fn test_theme_against<P: AsRef<Path>>(f: &P, against: &CssPath, diag: &Handler) pub fn test_theme_against<P: AsRef<Path>>(
-> (bool, Vec<String>) f: &P,
{ against: &CssPath,
diag: &Handler,
) -> (bool, Vec<String>) {
let data = try_something!(fs::read(f), diag, (false, vec![])); let data = try_something!(fs::read(f), diag, (false, vec![]));
let paths = load_css_paths(&data); let paths = load_css_paths(&data);
let mut ret = vec![]; let mut ret = vec![];
@ -372,4 +374,10 @@ fn check_empty_css() {
let events = load_css_events(&[]); let events = load_css_events(&[]);
assert_eq!(events.len(), 0); assert_eq!(events.len(), 0);
} }
#[test]
fn check_invalid_css() {
let events = load_css_events(b"*");
assert_eq!(events.len(), 0);
}
} }