petridish 0.7.1

A command-line utility that creates project layout.
Documentation
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"
    );
}