maud/maud_macros/tests/tests.rs

82 lines
1.7 KiB
Rust
Raw Normal View History

2015-01-08 11:25:57 +13:00
#![feature(plugin)]
#![allow(unstable)]
2014-12-17 21:11:56 +13:00
2014-12-18 19:49:49 +13:00
extern crate maud;
2015-01-08 11:25:57 +13:00
#[plugin] #[no_link] extern crate maud_macros;
2014-12-17 21:11:56 +13:00
#[test]
fn it_works() {
2014-12-19 18:25:44 +13:00
let template = html!("du\tcks" -23 3.14 '\n' "geese");
let s = maud::render(template);
2015-01-07 17:54:43 +13:00
assert_eq!(s, "du\tcks-233.14\ngeese");
2014-12-17 21:11:56 +13:00
}
2014-12-19 11:53:40 +13:00
#[test]
fn escaping() {
2014-12-19 18:25:44 +13:00
let template = html!("<flim&flam>");
2014-12-19 11:53:40 +13:00
let s = maud::render(template);
2015-01-07 17:54:43 +13:00
assert_eq!(s, "&lt;flim&amp;flam&gt;");
2014-12-19 11:53:40 +13:00
}
2015-01-07 17:43:37 +13:00
#[test]
fn blocks() {
let s = maud::render(html! {
"hello"
{
" ducks";
" geese";
}
" swans"
});
2015-01-07 17:54:43 +13:00
assert_eq!(s, "hello ducks geese swans");
2015-01-07 17:43:37 +13:00
}
mod splice {
use super::maud; // lol
#[test]
fn literal() {
let s = maud::render(html! { $"<pinkie>" });
2015-01-07 17:54:43 +13:00
assert_eq!(s, "&lt;pinkie&gt;");
2015-01-07 17:43:37 +13:00
}
#[test]
fn raw_literal() {
let s = maud::render(html! { $$"<pinkie>" });
2015-01-07 17:54:43 +13:00
assert_eq!(s, "<pinkie>");
2015-01-07 17:43:37 +13:00
}
#[test]
fn block() {
let s = maud::render(html! {
${
let mut result = 1i32;
for i in range(2, 11) {
result *= i;
}
result
}
});
2015-01-07 17:54:43 +13:00
assert_eq!(s, "3628800");
2015-01-07 17:43:37 +13:00
}
static BEST_PONY: &'static str = "Pinkie Pie";
#[test]
fn statics() {
let s = maud::render(html! { $BEST_PONY });
2015-01-07 17:54:43 +13:00
assert_eq!(s, "Pinkie Pie");
2015-01-07 17:43:37 +13:00
}
// 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 });
2015-01-07 17:54:43 +13:00
assert_eq!(s, "Pinkie Pie");
2015-01-07 17:43:37 +13:00
}
*/
}