tmpltool 1.5.0

A fast and simple command-line template rendering tool using MiniJinja templates with environment variables
Documentation
use std::path::PathBuf;
use tmpltool::TemplateContext;

#[test]
fn test_resolve_relative_path() {
    let ctx = TemplateContext::new(PathBuf::from("/tmp/templates"), false);
    let resolved = ctx.resolve_path("data.txt");
    assert_eq!(resolved, PathBuf::from("/tmp/templates/data.txt"));
}

#[test]
fn test_resolve_absolute_path() {
    let ctx = TemplateContext::new(PathBuf::from("/tmp/templates"), false);
    let resolved = ctx.resolve_path("/etc/hosts");
    assert_eq!(resolved, PathBuf::from("/etc/hosts"));
}

#[test]
fn test_resolve_parent_relative_path() {
    let ctx = TemplateContext::new(PathBuf::from("/tmp/templates"), false);
    let resolved = ctx.resolve_path("../config.txt");
    assert_eq!(resolved, PathBuf::from("/tmp/templates/../config.txt"));
}

#[test]
fn test_trust_mode() {
    let ctx_no_trust = TemplateContext::new(PathBuf::from("/tmp"), false);
    assert!(!ctx_no_trust.is_trust_mode());

    let ctx_trust = TemplateContext::new(PathBuf::from("/tmp"), true);
    assert!(ctx_trust.is_trust_mode());
}

#[test]
fn test_base_dir() {
    let ctx = TemplateContext::new(PathBuf::from("/tmp/templates"), false);
    assert_eq!(ctx.base_dir(), PathBuf::from("/tmp/templates").as_path());
}