aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcyqsimon <28627918+cyqsimon@users.noreply.github.com>2022-09-15 11:54:50 +0000
committercyqsimon <28627918+cyqsimon@users.noreply.github.com>2022-09-15 11:54:50 +0000
commit2d63d3d7a25483293789546a347f6235ef0aea67 (patch)
tree8d4e0f067406b3c9332cdccedbeecc9dc62f8e28
parentFix test name (diff)
downloadminiserve-2d63d3d7a25483293789546a347f6235ef0aea67.tar.gz
miniserve-2d63d3d7a25483293789546a347f6235ef0aea67.zip
Add tooltip on QR code
Diffstat (limited to '')
-rw-r--r--src/renderer.rs2
-rw-r--r--tests/qrcode.rs9
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(())
}