80 lines
1.6 KiB
Rust
80 lines
1.6 KiB
Rust
#![feature(plugin)]
|
|
|
|
extern crate maud;
|
|
#[plugin] #[no_link] extern crate maud_macros;
|
|
|
|
#[test]
|
|
fn it_works() {
|
|
let template = html!("du\tcks" -23 3.14 '\n' "geese");
|
|
let s = maud::render(template);
|
|
assert_eq!(s, "du\tcks-233.14\ngeese");
|
|
}
|
|
|
|
#[test]
|
|
fn escaping() {
|
|
let template = html!("<flim&flam>");
|
|
let s = maud::render(template);
|
|
assert_eq!(s, "<flim&flam>");
|
|
}
|
|
|
|
#[test]
|
|
fn blocks() {
|
|
let s = maud::render(html! {
|
|
"hello"
|
|
{
|
|
" ducks";
|
|
" geese";
|
|
}
|
|
" swans"
|
|
});
|
|
assert_eq!(s, "hello ducks geese swans");
|
|
}
|
|
|
|
mod splice {
|
|
use super::maud; // lol
|
|
|
|
#[test]
|
|
fn literal() {
|
|
let s = maud::render(html! { $"<pinkie>" });
|
|
assert_eq!(s, "<pinkie>");
|
|
}
|
|
|
|
#[test]
|
|
fn raw_literal() {
|
|
let s = maud::render(html! { $$"<pinkie>" });
|
|
assert_eq!(s, "<pinkie>");
|
|
}
|
|
|
|
#[test]
|
|
fn block() {
|
|
let s = maud::render(html! {
|
|
${
|
|
let mut result = 1i32;
|
|
for i in range(2, 11) {
|
|
result *= i;
|
|
}
|
|
result
|
|
}
|
|
});
|
|
assert_eq!(s, "3628800");
|
|
}
|
|
|
|
static BEST_PONY: &'static str = "Pinkie Pie";
|
|
|
|
#[test]
|
|
fn statics() {
|
|
let s = maud::render(html! { $BEST_PONY });
|
|
assert_eq!(s, "Pinkie Pie");
|
|
}
|
|
|
|
// FIXME: See <https://github.com/rust-lang/rust/issues/15962>
|
|
// for why this is commented out
|
|
/*
|
|
#[test]
|
|
fn closure() {
|
|
let best_pony = "Pinkie Pie";
|
|
let s = maud::render(html! { $best_pony });
|
|
assert_eq!(s, "Pinkie Pie");
|
|
}
|
|
*/
|
|
}
|