aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive/src/path.rs
diff options
context:
space:
mode:
Diffstat (limited to 'askama_derive/src/path.rs')
-rw-r--r--askama_derive/src/path.rs30
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"));
+ }
+}