diff options
author | cyqsimon <28627918+cyqsimon@users.noreply.github.com> | 2022-09-15 11:54:50 +0000 |
---|---|---|
committer | cyqsimon <28627918+cyqsimon@users.noreply.github.com> | 2022-09-15 11:54:50 +0000 |
commit | 2d63d3d7a25483293789546a347f6235ef0aea67 (patch) | |
tree | 8d4e0f067406b3c9332cdccedbeecc9dc62f8e28 | |
parent | Fix test name (diff) | |
download | miniserve-2d63d3d7a25483293789546a347f6235ef0aea67.tar.gz miniserve-2d63d3d7a25483293789546a347f6235ef0aea67.zip |
Add tooltip on QR code
-rw-r--r-- | src/renderer.rs | 2 | ||||
-rw-r--r-- | tests/qrcode.rs | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/renderer.rs b/src/renderer.rs index 562f215..ebb9f6f 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -321,7 +321,7 @@ fn qr_spoiler(show_qrcode: bool, content: impl AsRef<str>) -> Markup { p { "QR code" } - div.qrcode #qrcode { + div.qrcode #qrcode title=(PreEscaped(content.as_ref())) { @match qr_code_svg(content, consts::SVG_QR_MARGIN) { Ok(svg) => (PreEscaped(svg)), Err(err) => (format!("QR generation error: {:?}", err)), diff --git a/tests/qrcode.rs b/tests/qrcode.rs index 3dbd4bd..98a3c67 100644 --- a/tests/qrcode.rs +++ b/tests/qrcode.rs @@ -23,7 +23,14 @@ fn webpage_hides_qrcode_when_disabled(server: TestServer) -> Result<(), Error> { fn webpage_shows_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()); + let qr_container = parsed + .find(Attr("id", "qrcode")) + .next() + .ok_or("QR container not found")?; + let tooltip = qr_container + .attr("title") + .ok_or("QR container has no title")?; + assert_eq!(tooltip, server.url().as_str()); Ok(()) } |