]>
Commit | Line | Data |
---|---|---|
83c7162d | 1 | use helpers::{HelperDef, HelperResult}; |
8bb4bdeb | 2 | use registry::Registry; |
83c7162d | 3 | use render::{Helper, RenderContext, Renderable}; |
8bb4bdeb XL |
4 | |
5 | #[derive(Clone, Copy)] | |
6 | pub struct RawHelper; | |
7 | ||
8 | impl HelperDef for RawHelper { | |
83c7162d | 9 | fn call(&self, h: &Helper, r: &Registry, rc: &mut RenderContext) -> HelperResult { |
8bb4bdeb XL |
10 | let tpl = h.template(); |
11 | if let Some(t) = tpl { | |
12 | t.render(r, rc) | |
13 | } else { | |
14 | Ok(()) | |
15 | } | |
16 | } | |
17 | } | |
18 | ||
19 | pub static RAW_HELPER: RawHelper = RawHelper; | |
20 | ||
21 | #[cfg(test)] | |
22 | mod test { | |
23 | use registry::Registry; | |
24 | ||
25 | #[test] | |
26 | fn test_raw_helper() { | |
27 | let mut handlebars = Registry::new(); | |
ea8adc8c XL |
28 | assert!( |
29 | handlebars | |
30 | .register_template_string("t0", "a{{{{raw}}}}{{content}}{{else}}hello{{{{/raw}}}}") | |
31 | .is_ok() | |
32 | ); | |
8bb4bdeb XL |
33 | |
34 | let r = handlebars.render("t0", &()); | |
35 | assert_eq!(r.ok().unwrap(), "a{{content}}{{else}}hello"); | |
36 | } | |
37 | } |