use std::fmt;
use super::Format;
use Args;
pub struct SimpleFormat {
variable_name: String,
}
impl SimpleFormat {
pub fn new(variable_name: &str) -> Self {
SimpleFormat { variable_name: variable_name.to_string() }
}
}
impl Format for SimpleFormat {
fn format_message_part(&self, stream: &mut fmt::Write, args: &Args) -> fmt::Result {
if let Some(value) = args.get(self.variable_name.as_str()) {
try!(write!(stream, "{}", value));
Ok(())
} else {
Ok(())
}
}
}
#[cfg(test)]
mod tests {
use super::*;
use ast::Format;
use Args;
#[test]
fn it_works() {
let fmt = SimpleFormat::new("name");
let mut output = String::new();
fmt.format_message_part(&mut output, &Args::new()).unwrap();
assert_eq!("", output);
}
}