]> git.proxmox.com Git - rustc.git/blame - vendor/handlebars/src/helpers/helper_raw.rs
New upstream version 1.34.2+dfsg1
[rustc.git] / vendor / handlebars / src / helpers / helper_raw.rs
CommitLineData
9fa01778 1use context::Context;
83c7162d 2use helpers::{HelperDef, HelperResult};
9fa01778 3use output::Output;
8bb4bdeb 4use registry::Registry;
83c7162d 5use render::{Helper, RenderContext, Renderable};
8bb4bdeb
XL
6
7#[derive(Clone, Copy)]
8pub struct RawHelper;
9
10impl HelperDef for RawHelper {
9fa01778
XL
11 fn call<'reg: 'rc, 'rc>(
12 &self,
13 h: &Helper<'reg, 'rc>,
14 r: &'reg Registry,
15 ctx: &Context,
16 rc: &mut RenderContext<'reg>,
17 out: &mut Output,
18 ) -> HelperResult {
8bb4bdeb
XL
19 let tpl = h.template();
20 if let Some(t) = tpl {
9fa01778 21 t.render(r, ctx, rc, out)
8bb4bdeb
XL
22 } else {
23 Ok(())
24 }
25 }
26}
27
28pub static RAW_HELPER: RawHelper = RawHelper;
29
30#[cfg(test)]
31mod test {
32 use registry::Registry;
33
34 #[test]
35 fn test_raw_helper() {
36 let mut handlebars = Registry::new();
ea8adc8c
XL
37 assert!(
38 handlebars
39 .register_template_string("t0", "a{{{{raw}}}}{{content}}{{else}}hello{{{{/raw}}}}")
40 .is_ok()
41 );
8bb4bdeb
XL
42
43 let r = handlebars.render("t0", &());
44 assert_eq!(r.ok().unwrap(), "a{{content}}{{else}}hello");
45 }
46}