summaryrefslogtreecommitdiff
path: root/src/name.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/name.rs')
-rw-r--r--src/name.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/name.rs b/src/name.rs
index 44328b1..e0b4882 100644
--- a/src/name.rs
+++ b/src/name.rs
@@ -13,12 +13,17 @@ pub struct Name {
impl Name {
fn new(is_wikitext: bool, src: PathBuf, dest: PathBuf, page: PathBuf) -> Self {
+ let page_name = page
+ .file_name()
+ .unwrap_or_else(|| panic!("get filename from {}", page.display()))
+ .to_string_lossy()
+ .to_string();
Self {
is_wikitext,
src,
dest,
- page: page.clone(),
- page_name: page.to_string_lossy().into(),
+ page,
+ page_name,
}
}
@@ -140,7 +145,7 @@ mod test {
assert_eq!(name.source_path(), Path::new("/src/foo/bar.mdwn"));
assert_eq!(name.destination_path(), Path::new("/dest/foo/bar.html"));
assert_eq!(name.page_path(), Path::new("/foo/bar"));
- assert_eq!(name.page_name(), "/foo/bar");
+ assert_eq!(name.page_name(), "bar");
}
#[test]
@@ -149,7 +154,7 @@ mod test {
assert_eq!(name.source_path(), Path::new("/src/foo/bar.jpg"));
assert_eq!(name.destination_path(), Path::new("/dest/foo/bar.jpg"));
assert_eq!(name.page_path(), Path::new("/foo/bar.jpg"));
- assert_eq!(name.page_name(), "/foo/bar.jpg");
+ assert_eq!(name.page_name(), "bar.jpg");
}
#[test]