#![feature(plugin, test)]
#![feature(proc_macro)]

extern crate maud;

use maud::html;

extern crate test;

#[derive(Debug)]
struct Entry {
    name: &'static str,
    score: u16,
}

#[bench]
fn render_template(b: &mut test::Bencher) {
    let year = test::black_box("2015");
    let teams = test::black_box(vec![
        Entry { name: "Jiangsu", score: 43 },
        Entry { name: "Beijing", score: 27 },
        Entry { name: "Guangzhou", score: 22 },
        Entry { name: "Shandong", score: 12 },
    ]);
    b.iter(|| {
        html! {
            html {
                head {
                    title (year)
                }
                body {
                    h1 { "CSL " (year) }
                    ul {
                        @for (i, team) in teams.iter().enumerate() {
                            li.champion[i == 0] {
                                b (team.name) ": " (team.score)
                            }
                        }
                    }
                }
            }
        }
    });
}