Skip to content

Commit

Permalink
Merge #80
Browse files Browse the repository at this point in the history
80: Fix cssparser read-write-read target to iterate correctly. r=killercup

servo/rust-cssparser#165 (comment)
  • Loading branch information
bors[bot] committed Jun 27, 2017
2 parents 51520a7 + 0287931 commit 80ef62d
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions cssparser/css_read_write_read.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,23 @@ fuzz_target!(|data: &[u8]| {
let tokens1: Vec<Token> = {
let mut parser_input = ParserInput::new(str1);
let mut parser = Parser::new(&mut parser_input);
parser.next_including_whitespace_and_comments().into_iter().collect()
let mut tokens = vec![];
while let Ok(token) = parser.next_including_whitespace_and_comments() {
tokens.push(token)
}
tokens
};

// dump the tokens into a string and parse again into tokens
let str2 = tokens1.iter().map(|t| t.to_css_string()).collect::<String>();
let tokens2: Vec<Token> = {
let mut parser_input = ParserInput::new(&str2);
let mut parser = Parser::new(&mut parser_input);
parser.next_including_whitespace_and_comments().into_iter().collect()
let mut tokens = vec![];
while let Ok(token) = parser.next_including_whitespace_and_comments() {
tokens.push(token)
}
tokens
};

assert_eq!(tokens1, tokens2);
Expand Down

0 comments on commit 80ef62d

Please sign in to comment.