aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2017-08-16 20:51:49 +0200
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2017-08-16 20:51:49 +0200
commitf15da8ba3e62c76d23ea4ad87e5f45275885a016 (patch)
tree89447dc1ff9f44993ed5108ad43d5210819e07f8
parent7efd70297d12a643b858f006006c04b5d86b7d92 (diff)
downloadaskama-f15da8ba3e62c76d23ea4ad87e5f45275885a016.tar.gz
askama-f15da8ba3e62c76d23ea4ad87e5f45275885a016.tar.bz2
askama-f15da8ba3e62c76d23ea4ad87e5f45275885a016.zip
Change find_template_from_path() to take Path as start_at argument
-rw-r--r--askama_derive/src/generator.rs4
-rw-r--r--askama_derive/src/path.rs10
2 files changed, 7 insertions, 7 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index 43c2a49..5eb456b 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -4,7 +4,7 @@ use path;
use quote::{Tokens, ToTokens};
use std::{cmp, hash, str};
-use std::path::PathBuf;
+use std::path::{Path, PathBuf};
use std::collections::HashSet;
use syn;
@@ -55,7 +55,7 @@ pub fn generate(ast: &syn::DeriveInput, path: &str, mut nodes: Vec<Node>) -> Str
fn trait_name_for_path(base: &Option<Expr>, path: &str) -> String {
let rooted_path = match *base {
Some(Expr::StrLit(user_path)) => {
- path::find_template_from_path(user_path, Some(path))
+ path::find_template_from_path(user_path, Some(Path::new(path)))
},
_ => {
let mut path_buf = PathBuf::new();
diff --git a/askama_derive/src/path.rs b/askama_derive/src/path.rs
index bf43568..3c04965 100644
--- a/askama_derive/src/path.rs
+++ b/askama_derive/src/path.rs
@@ -22,7 +22,7 @@ pub fn get_template_source(tpl_path: &Path) -> String {
s
}
-pub fn find_template_from_path<'a>(path: &str, start_at: Option<&str>) -> PathBuf {
+pub fn find_template_from_path<'a>(path: &str, start_at: Option<&Path>) -> PathBuf {
let root = template_dir();
if let Some(rel) = start_at {
let mut fs_rel_path = root.clone();
@@ -62,25 +62,25 @@ mod tests {
#[test]
fn find_absolute() {
- let path = find_template_from_path("sub/b.html", Some("a.html"));
+ let path = find_template_from_path("sub/b.html", Some(Path::new("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"));
+ find_template_from_path("b.html", Some(Path::new("a.html")));
}
#[test]
fn find_relative() {
- let path = find_template_from_path("c.html", Some("sub/b.html"));
+ let path = find_template_from_path("c.html", Some(Path::new("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"));
+ let path = find_template_from_path("sub1/d.html", Some(Path::new("sub/b.html")));
assert_eq!(path, Path::new("sub/sub1/d.html"));
}
}