]> git.proxmox.com Git - rustc.git/blame - src/vendor/handlebars/src/helpers/helper_raw.rs
New upstream version 1.31.0+dfsg1
[rustc.git] / src / vendor / handlebars / src / helpers / helper_raw.rs
CommitLineData
83c7162d 1use helpers::{HelperDef, HelperResult};
8bb4bdeb 2use registry::Registry;
83c7162d 3use render::{Helper, RenderContext, Renderable};
8bb4bdeb
XL
4
5#[derive(Clone, Copy)]
6pub struct RawHelper;
7
8impl 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
19pub static RAW_HELPER: RawHelper = RawHelper;
20
21#[cfg(test)]
22mod 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}