aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/api.rs12
-rw-r--r--tests/fixtures/mod.rs4
2 files changed, 12 insertions, 4 deletions
diff --git a/tests/api.rs b/tests/api.rs
index 32d6cef..fe313b0 100644
--- a/tests/api.rs
+++ b/tests/api.rs
@@ -1,5 +1,6 @@
use std::collections::HashMap;
+use percent_encoding::{NON_ALPHANUMERIC, utf8_percent_encode};
use reqwest::{StatusCode, blocking::Client};
use rstest::rstest;
@@ -7,10 +8,17 @@ mod fixtures;
use crate::fixtures::{DIRECTORIES, Error, TestServer, server};
+/// Test that we can get dir size for plain paths as well as percent-encoded paths
#[rstest]
-fn api_dir_size(server: TestServer) -> Result<(), Error> {
+#[case(DIRECTORIES[0].to_string())]
+#[case(DIRECTORIES[1].to_string())]
+#[case(DIRECTORIES[2].to_string())]
+#[case(utf8_percent_encode(DIRECTORIES[0], NON_ALPHANUMERIC).to_string())]
+#[case(utf8_percent_encode(DIRECTORIES[1], NON_ALPHANUMERIC).to_string())]
+#[case(utf8_percent_encode(DIRECTORIES[2], NON_ALPHANUMERIC).to_string())]
+fn api_dir_size(#[case] dir: String, server: TestServer) -> Result<(), Error> {
let mut command = HashMap::new();
- command.insert("DirSize", DIRECTORIES[0]);
+ command.insert("DirSize", dir);
let resp = Client::new()
.post(server.url().join(&format!("__miniserve_internal/api"))?)
diff --git a/tests/fixtures/mod.rs b/tests/fixtures/mod.rs
index f2869b7..5b331e9 100644
--- a/tests/fixtures/mod.rs
+++ b/tests/fixtures/mod.rs
@@ -34,10 +34,10 @@ pub static FILES: &[&str] = &[
pub static HIDDEN_FILES: &[&str] = &[".hidden_file1", ".hidden_file2"];
/// Directory names for testing purpose
-pub static DIRECTORIES: &[&str] = &["dira/", "dirb/", "dirc/"];
+pub static DIRECTORIES: &[&str] = &["dira/", "dirb/", "dir space/"];
/// Hidden directories for testing purpose
-pub static HIDDEN_DIRECTORIES: &[&str] = &[".hidden_dir1/", ".hidden_dir2/"];
+pub static HIDDEN_DIRECTORIES: &[&str] = &[".hidden_dir1/", ".hidden space dir/"];
/// Name of a deeply nested file
pub static DEEPLY_NESTED_FILE: &str = "very/deeply/nested/test.rs";