use super::{Template, TemplateBackend, TemplateError};
#[derive(Debug, Clone, Default)]
pub struct DummyBackend {
error: Option<TemplateError>,
}
impl DummyBackend {
#[must_use]
pub const fn new() -> Self {
Self { error: None }
}
#[must_use]
pub fn with_error(error: TemplateError) -> Self {
Self { error: Some(error) }
}
fn maybe_error(&self) -> Result<(), TemplateError> {
self.error.clone().map_or(Ok(()), Err)
}
}
impl TemplateBackend for DummyBackend {
fn from_string(&self, _template_string: &str) -> Result<Template, TemplateError> {
self.maybe_error()?;
Ok(Template::new("<dummy>", ""))
}
fn get_template(&self, template_name: &str) -> Result<Template, TemplateError> {
self.maybe_error()?;
Ok(Template::new(template_name, ""))
}
}