diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2022-07-28 13:00:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-28 13:00:47 +0000 |
commit | bcfcf1e7291a2ac00cb5ad9f0ee9be23651e68c5 (patch) | |
tree | ecb6e49450ef0321d305626f6ed47018a180c609 /tests | |
parent | Add `rustfmt.toml` to enforce formatter style (diff) | |
parent | Apply suggestions from code review (diff) | |
download | miniserve-bcfcf1e7291a2ac00cb5ad9f0ee9be23651e68c5.tar.gz miniserve-bcfcf1e7291a2ac00cb5ad9f0ee9be23651e68c5.zip |
Merge pull request #835 from solarknight/fix/css_route_prefix
fix: static file support route_prefix
Diffstat (limited to 'tests')
-rw-r--r-- | tests/serve_request.rs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/tests/serve_request.rs b/tests/serve_request.rs index 450a8f5..3f5eeff 100644 --- a/tests/serve_request.rs +++ b/tests/serve_request.rs @@ -9,8 +9,7 @@ use fixtures::{ use http::StatusCode; use regex::Regex; use rstest::rstest; -use select::document::Document; -use select::node::Node; +use select::{document::Document, node::Node, predicate::Attr}; use std::process::{Command, Stdio}; use std::thread::sleep; use std::time::Duration; @@ -281,3 +280,25 @@ fn serves_requests_with_route_prefix(#[case] server: TestServer) -> Result<(), E Ok(()) } + +#[rstest] +#[case(server_no_stderr(&[] as &[&str]), "/[a-f0-9]+")] +#[case(server_no_stderr(&["--random-route"]), "/[a-f0-9]+")] +#[case(server_no_stderr(&["--route-prefix", "foobar"]), "/foobar/[a-f0-9]+")] +fn serves_requests_static_file_check( + #[case] server: TestServer, + #[case] static_file_pattern: String, +) -> Result<(), Error> { + let body = reqwest::blocking::get(server.url())?; + let parsed = Document::from_read(body)?; + let re = Regex::new(&static_file_pattern).unwrap(); + + assert!(parsed + .find(Attr("rel", "stylesheet")) + .all(|x| re.is_match(x.attr("href").unwrap()))); + assert!(parsed + .find(Attr("rel", "icon")) + .all(|x| re.is_match(x.attr("href").unwrap()))); + + Ok(()) +} |