#![feature(test)]
extern crate test;
extern crate html5ever;
use std::{fs, env};
use std::io::prelude::*;
use std::default::Default;
use test::black_box;
use html5ever::tokenizer::{TokenSink, Token, TokenizerOpts};
use html5ever::driver::{tokenize_to, one_input};
struct Sink;
impl TokenSink for Sink {
fn process_token(&mut self, token: Token) {
black_box(token);
}
}
fn main() {
let mut path = env::current_exe().unwrap();
path.push("../data/bench/");
path.push(env::args().nth(1).unwrap());
let mut file = fs::File::open(&path).unwrap();
let mut file_input = String::new();
file.read_to_string(&mut file_input).unwrap();
tokenize_to(Sink, one_input(file_input), TokenizerOpts {
profile: true,
.. Default::default()
});
}