aboutsummaryrefslogtreecommitdiffstats
path: root/tests/raw.rs
diff options
context:
space:
mode:
authorSilux <silux@silux.ink>2023-02-22 19:57:33 +0000
committerSilux <silux@silux.ink>2023-02-25 16:46:11 +0000
commit511d4dbf9f7d6d236fb5fe6b376d44820659415a (patch)
tree6cf78c27a4d74ff31f3840a3f1463d034d71f632 /tests/raw.rs
parentSwitched from using AsRef<str> to using &Uri (diff)
downloadminiserve-511d4dbf9f7d6d236fb5fe6b376d44820659415a.tar.gz
miniserve-511d4dbf9f7d6d236fb5fe6b376d44820659415a.zip
Added tests and small fixes
...discovered when writing the tests. Ran rustfmt, clippy::all, cargo test, everything passed and I hope the tests I wrote are good. Now with 100% less forgotten debug logs!
Diffstat (limited to '')
-rw-r--r--tests/raw.rs22
1 files changed, 19 insertions, 3 deletions
diff --git a/tests/raw.rs b/tests/raw.rs
index f212f58..95100d2 100644
--- a/tests/raw.rs
+++ b/tests/raw.rs
@@ -11,7 +11,16 @@ use select::predicate::Class;
use select::predicate::Name;
/// The footer displays the correct wget command to download the folder recursively
-#[rstest(depth, dir, case(0, ""), case(2, "very/deeply/nested/"))]
+// This test can't test all aspects of the wget footer,
+// a more detailed unit test is available
+#[rstest(
+ depth,
+ dir,
+ case(0, ""),
+ case(1, "dira/"),
+ case(2, "very/deeply/"),
+ case(3, "very/deeply/nested/")
+)]
fn ui_displays_wget_element(
depth: u8,
dir: &str,
@@ -32,11 +41,18 @@ fn ui_displays_wget_element(
.next()
.unwrap()
.text();
+ let cut_dirs = match depth {
+ // Put all the files in a folder of this name
+ 0 => format!(" -P 'localhost:{}'", server.port()),
+ 1 => String::new(),
+ // Avoids putting the files in excessive directories
+ x => format!(" --cut-dirs={}", x - 1),
+ };
assert_eq!(
wget_url,
format!(
- "wget -r -c -nH -np --cut-dirs={} -R \"index.html*\" \"{}{}?raw=true\"",
- depth,
+ "wget -rcnHp -R 'index.html*'{} '{}{}?raw=true'",
+ cut_dirs,
server.url(),
dir
)