use petridish::render::Render; use std::fs; use tera::Context; #[test] fn test_render() { let mut context = Context::new(); context.insert("project", "awesome"); context.insert("abc", "ABC"); context.insert("dir_name", "my_dir"); context.insert("inner", "Bingo"); context.insert("name", "JoJo"); context.insert("inner_value", "Secret"); let output = tempdir::TempDir::new("test").unwrap(); let render = Render::new( "tests/templates", "{{ project }}", output.path(), context, false, false, vec![], ); render.render().unwrap(); assert!(output.path().join("awesome").exists()); assert!(output.path().join("awesome").join("ABC.txt").exists()); assert_eq!( fs::read_to_string(output.path().join("awesome").join("ABC.txt")) .unwrap() .trim_end(), "JoJo" ); assert!(output .path() .join("awesome") .join("my_dir") .join("Bingo.txt") .exists()); assert_eq!( fs::read_to_string( output .path() .join("awesome") .join("my_dir") .join("Bingo.txt") ) .unwrap() .trim_end(), "Secret" ); }