aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorcyqsimon <28627918+cyqsimon@users.noreply.github.com>2022-09-15 10:32:49 +0000
committercyqsimon <28627918+cyqsimon@users.noreply.github.com>2022-09-15 10:32:49 +0000
commitb817d9c44c4102c0c141b9ccee7d1cb04fca1baf (patch)
tree3cf8ba277bed75da3bd7b574231046da7347db88 /tests
parentMove QR margin size into `consts` (diff)
downloadminiserve-b817d9c44c4102c0c141b9ccee7d1cb04fca1baf.tar.gz
miniserve-b817d9c44c4102c0c141b9ccee7d1cb04fca1baf.zip
Restores webpage QR tests
Diffstat (limited to 'tests')
-rw-r--r--tests/qrcode.rs22
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};