1 use crate::template::Context;
2 use crate::utils::recursively_copy;
6 pub fn generate(source: &Path, _: &Path, target: &Path, _: &Context) -> Result<()> {
8 return recursively_copy(source, target);
15 use std::collections::HashMap;
16 use std::fs::create_dir_all;
20 use test_utilities::*;
23 fn test_copies_files() {
24 let test_dir = setup_test_dir();
25 let static_dir = test_dir.join("static");
26 let template_dir = test_dir.join("templates");
27 let output_dir = test_dir.join("output");
29 create_dir_all(&static_dir).expect("Could not create static directory");
30 create_dir_all(&output_dir).expect("Could not create output directory");
31 create_test_file(&static_dir.join("test.jpg"), "Cool hat");
33 let context = HashMap::new();
35 generate(&static_dir, &template_dir, &output_dir, &context).expect("Generate failed");
37 assert_file_contents(&output_dir.join("test.jpg"), "Cool hat");
41 fn test_creates_directories_if_they_do_not_exist() {
42 let test_dir = setup_test_dir();
43 let static_dir = test_dir.join("static");
44 let template_dir = test_dir.join("templates");
45 let output_dir = test_dir.join("output");
47 create_dir_all(&static_dir).expect("Could not create static directory");
48 create_dir_all(static_dir.join("nested")).expect("Could not create output directory");
49 create_test_file(&static_dir.join("nested/test.mov"), "Cool hats, multiple.");
51 let context = HashMap::new();
53 generate(&static_dir, &template_dir, &output_dir, &context).expect("Generate failed");
55 assert_file_contents(&output_dir.join("nested/test.mov"), "Cool hats, multiple.");
59 fn test_it_does_not_fail_if_source_directory_does_not_exist() {
60 let test_dir = setup_test_dir();
61 let static_dir = test_dir.join("static");
62 let template_dir = test_dir.join("templates");
63 let output_dir = test_dir.join("output");
65 let context = HashMap::new();
67 let result = generate(&static_dir, &template_dir, &output_dir, &context);
69 assert!(result.is_ok());