aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2021-04-06 17:16:59 +0000
committerAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2021-04-06 17:16:59 +0000
commit58f40d8314821624ab55aa45493cedd407ee0376 (patch)
treec38ea2acd32dbbd52edf84f28c859ead4eb149ed
parentFix percent encoding for URL (diff)
downloadminiserve-58f40d8314821624ab55aa45493cedd407ee0376.tar.gz
miniserve-58f40d8314821624ab55aa45493cedd407ee0376.zip
Test URL encoding for special characters
-rw-r--r--tests/fixtures/mod.rs3
-rw-r--r--tests/serve_request.rs6
2 files changed, 9 insertions, 0 deletions
diff --git a/tests/fixtures/mod.rs b/tests/fixtures/mod.rs
index 7efbe5e..1cf6c59 100644
--- a/tests/fixtures/mod.rs
+++ b/tests/fixtures/mod.rs
@@ -16,6 +16,9 @@ pub static FILES: &[&str] = &[
"test \" \' & < >.csv",
"😀.data",
"⎙.mp4",
+ "#[]{}()@!$&'`+,;= %20.test",
+ #[cfg(unix)]
+ ":?#[]{}<>()@!$&'`|*+,;= %20.test",
];
/// Hidden files for testing purpose
diff --git a/tests/serve_request.rs b/tests/serve_request.rs
index 6477bc2..25c5574 100644
--- a/tests/serve_request.rs
+++ b/tests/serve_request.rs
@@ -49,6 +49,12 @@ fn serves_requests_with_non_default_port(tmpdir: TempDir, port: u16) -> Result<(
for &file in FILES {
let f = parsed.find(|x: &Node| x.text() == file).next().unwrap();
+ reqwest::blocking::get(format!(
+ "http://localhost:{}/{}",
+ port,
+ f.attr("href").unwrap()
+ ))?
+ .error_for_status()?;
assert_eq!(
format!("/{}", file),
percent_encoding::percent_decode_str(f.attr("href").unwrap()).decode_utf8_lossy(),