blob: 20ad54fc228054571136fa563c1d4e2a065a56b1 [file] [log] [blame]
use helpers::{HelperDef, HelperResult};
use registry::Registry;
use render::{Helper, RenderContext, Renderable};
#[derive(Clone, Copy)]
pub struct RawHelper;
impl HelperDef for RawHelper {
fn call(&self, h: &Helper, r: &Registry, rc: &mut RenderContext) -> HelperResult {
let tpl = h.template();
if let Some(t) = tpl {
t.render(r, rc)
} else {
Ok(())
}
}
}
pub static RAW_HELPER: RawHelper = RawHelper;
#[cfg(test)]
mod test {
use registry::Registry;
#[test]
fn test_raw_helper() {
let mut handlebars = Registry::new();
assert!(
handlebars
.register_template_string("t0", "a{{{{raw}}}}{{content}}{{else}}hello{{{{/raw}}}}")
.is_ok()
);
let r = handlebars.render("t0", &());
assert_eq!(r.ok().unwrap(), "a{{content}}{{else}}hello");
}
}