Skip to content

Commit 0287931

Browse files
committed
Fix cssparser read-write-read target to iterate correctly.
servo/rust-cssparser#165 (comment)
1 parent 51520a7 commit 0287931

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

cssparser/css_read_write_read.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,23 @@ fuzz_target!(|data: &[u8]| {
1414
let tokens1: Vec<Token> = {
1515
let mut parser_input = ParserInput::new(str1);
1616
let mut parser = Parser::new(&mut parser_input);
17-
parser.next_including_whitespace_and_comments().into_iter().collect()
17+
let mut tokens = vec![];
18+
while let Ok(token) = parser.next_including_whitespace_and_comments() {
19+
tokens.push(token)
20+
}
21+
tokens
1822
};
1923

2024
// dump the tokens into a string and parse again into tokens
2125
let str2 = tokens1.iter().map(|t| t.to_css_string()).collect::<String>();
2226
let tokens2: Vec<Token> = {
2327
let mut parser_input = ParserInput::new(&str2);
2428
let mut parser = Parser::new(&mut parser_input);
25-
parser.next_including_whitespace_and_comments().into_iter().collect()
29+
let mut tokens = vec![];
30+
while let Ok(token) = parser.next_including_whitespace_and_comments() {
31+
tokens.push(token)
32+
}
33+
tokens
2634
};
2735

2836
assert_eq!(tokens1, tokens2);

0 commit comments

Comments
 (0)