diff options
Diffstat (limited to 'askama_derive/src')
-rw-r--r-- | askama_derive/src/path.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/askama_derive/src/path.rs b/askama_derive/src/path.rs index 728c7ec..9431306 100644 --- a/askama_derive/src/path.rs +++ b/askama_derive/src/path.rs @@ -48,3 +48,33 @@ pub fn get_template_source(tpl_file: &str) -> String { f.read_to_string(&mut s).unwrap(); s } + +#[cfg(test)] +mod tests { + use super::find_template_from_path; + use super::Path; + + #[test] + fn find_absolute() { + let path = find_template_from_path("sub/b.html", Some("a.html")); + assert_eq!(path, Path::new("sub/b.html")); + } + + #[test] + #[should_panic] + fn find_relative_nonexistent() { + find_template_from_path("b.html", Some("a.html")); + } + + #[test] + fn find_relative() { + let path = find_template_from_path("c.html", Some("sub/b.html")); + assert_eq!(path, Path::new("sub/c.html")); + } + + #[test] + fn find_relative_sub() { + let path = find_template_from_path("sub1/d.html", Some("sub/b.html")); + assert_eq!(path, Path::new("sub/sub1/d.html")); + } +} |