diff options
author | cyqsimon <28627918+cyqsimon@users.noreply.github.com> | 2022-09-15 10:32:49 +0000 |
---|---|---|
committer | cyqsimon <28627918+cyqsimon@users.noreply.github.com> | 2022-09-15 10:32:49 +0000 |
commit | b817d9c44c4102c0c141b9ccee7d1cb04fca1baf (patch) | |
tree | 3cf8ba277bed75da3bd7b574231046da7347db88 /tests | |
parent | Move QR margin size into `consts` (diff) | |
download | miniserve-b817d9c44c4102c0c141b9ccee7d1cb04fca1baf.tar.gz miniserve-b817d9c44c4102c0c141b9ccee7d1cb04fca1baf.zip |
Restores webpage QR tests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/qrcode.rs | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/qrcode.rs b/tests/qrcode.rs index 162c33a..de8ac88 100644 --- a/tests/qrcode.rs +++ b/tests/qrcode.rs @@ -2,12 +2,32 @@ mod fixtures; use assert_cmd::prelude::CommandCargoExt; use assert_fs::TempDir; -use fixtures::{port, tmpdir, Error}; +use fixtures::{port, server, tmpdir, Error, TestServer}; use rstest::rstest; +use select::document::Document; +use select::predicate::Attr; use std::process::{Command, Stdio}; use std::thread::sleep; use std::time::Duration; +#[rstest] +fn webpage_hides_qrcode_when_disabled(server: TestServer) -> Result<(), Error> { + let body = reqwest::blocking::get(server.url())?.error_for_status()?; + let parsed = Document::from_read(body)?; + assert!(parsed.find(Attr("id", "qrcode")).next().is_none()); + + Ok(()) +} + +#[rstest] +fn webpage_hides_qrcode_when_enabled(#[with(&["-q"])] server: TestServer) -> Result<(), Error> { + let body = reqwest::blocking::get(server.url())?.error_for_status()?; + let parsed = Document::from_read(body)?; + assert!(parsed.find(Attr("id", "qrcode")).next().is_some()); + + Ok(()) +} + #[cfg(not(windows))] fn run_in_faketty_kill_and_get_stdout(template: &Command) -> Result<String, Error> { use fake_tty::{bash_command, get_stdout}; |