aboutsummaryrefslogtreecommitdiffstats
path: root/tests/navigation.rs
diff options
context:
space:
mode:
authorSven-Hendrik Haase <svenstaro@gmail.com>2021-03-07 02:27:07 +0000
committerSven-Hendrik Haase <svenstaro@gmail.com>2021-03-07 02:27:07 +0000
commit6bac75c4ae2d8e8983a93a640aea435e65bb394d (patch)
treeacfc34326e5c268883744d4bf6b7cd131d078469 /tests/navigation.rs
parentEase some dependency restrictions (diff)
downloadminiserve-6bac75c4ae2d8e8983a93a640aea435e65bb394d.tar.gz
miniserve-6bac75c4ae2d8e8983a93a640aea435e65bb394d.zip
Test that all directories properly get trailing slashes
Diffstat (limited to '')
-rw-r--r--tests/navigation.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/tests/navigation.rs b/tests/navigation.rs
index 3d8f37f..c5c18cb 100644
--- a/tests/navigation.rs
+++ b/tests/navigation.rs
@@ -13,9 +13,21 @@ use std::time::Duration;
use url::Url;
use utils::get_link_from_text;
-#[rstest]
-/// The index directory gets a trailing slash.
-fn index_gets_trailing_slash(tmpdir: TempDir, port: u16) -> Result<(), Error> {
+#[rstest(
+ input,
+ expected,
+ case("", "/"),
+ case("/dira", "/dira/"),
+ case("/dirb/", "/dirb/"),
+ case("/very/deeply/nested", "/very/deeply/nested/")
+)]
+/// Directories get a trailing slash.
+fn index_gets_trailing_slash(
+ tmpdir: TempDir,
+ port: u16,
+ input: &str,
+ expected: &str,
+) -> Result<(), Error> {
let mut child = Command::cargo_bin("miniserve")?
.arg("-p")
.arg(port.to_string())
@@ -26,9 +38,8 @@ fn index_gets_trailing_slash(tmpdir: TempDir, port: u16) -> Result<(), Error> {
sleep(Duration::from_secs(1));
let base_url = Url::parse(&format!("http://localhost:{}", port))?;
- let expected_url = format!("{}", base_url);
- let resp = reqwest::blocking::get(base_url.as_str())?;
- assert_eq!(resp.url().as_str(), expected_url);
+ let resp = reqwest::blocking::get(base_url.join(input)?)?;
+ assert!(resp.url().as_str().ends_with(expected));
child.kill()?;