From 2d63d3d7a25483293789546a347f6235ef0aea67 Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Thu, 15 Sep 2022 19:54:50 +0800 Subject: Add tooltip on QR code --- src/renderer.rs | 2 +- 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) -> 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(()) } -- cgit v1.2.3