diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2021-03-07 02:27:07 +0000 |
---|---|---|
committer | Sven-Hendrik Haase <svenstaro@gmail.com> | 2021-03-07 02:27:07 +0000 |
commit | 6bac75c4ae2d8e8983a93a640aea435e65bb394d (patch) | |
tree | acfc34326e5c268883744d4bf6b7cd131d078469 /tests/navigation.rs | |
parent | Ease some dependency restrictions (diff) | |
download | miniserve-6bac75c4ae2d8e8983a93a640aea435e65bb394d.tar.gz miniserve-6bac75c4ae2d8e8983a93a640aea435e65bb394d.zip |
Test that all directories properly get trailing slashes
Diffstat (limited to 'tests/navigation.rs')
-rw-r--r-- | tests/navigation.rs | 23 |
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()?; |