From 3d65e92783f09849646f2c447bdeb52125ebf66d Mon Sep 17 00:00:00 2001 From: slhx agent Date: Tue, 26 May 2026 01:07:06 +0200 Subject: [PATCH] test(kanban): render lib slot from view helper Use RenderSlotExt in the kanban library smoke test so even the small public example test path avoids explicit SafeHtml/html plumbing. req: view/001 req: html_safety/002 --- examples/kanban/src/lib.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/examples/kanban/src/lib.rs b/examples/kanban/src/lib.rs index 889db3e..78f1804 100644 --- a/examples/kanban/src/lib.rs +++ b/examples/kanban/src/lib.rs @@ -6,7 +6,7 @@ mod tests { use super::ui; use hemplate::Hemplate; use scraper::{Html, Selector}; - use slhx::{Effect, IntoEffect, Payload, SafeHtml}; + use slhx::{Effect, IntoEffect, Payload, RenderSlotExt}; use slhx_test::inspect; #[derive(Hemplate)] @@ -27,7 +27,7 @@ mod tests { #[test] fn kanban_board_updates_generated_slot() { fn render_board() -> impl IntoEffect { - ui::board::slots::board.html(render_empty_board()) + ui::board::slots::board.render_view(&empty_board()) } let effect = inspect(render_board()); @@ -38,18 +38,14 @@ mod tests { // req: html_safety/002 req: view/001 req: test/005 #[test] fn kanban_board_test_payload_is_rendered_by_a_hemplate_view() { - let html = render_empty_board(); + let html = slhx::render_html(&empty_board()); let document = Html::parse_fragment(html.as_str()); assert_eq!(document.select(&selector(".columns")).count(), 1); } - fn render_empty_board() -> SafeHtml { + fn empty_board() -> BoardColumns { // req: html_safety/002 req: view/001 - let mut html = String::new(); BoardColumns { columns: Vec::new() } - .render_into(&mut html) - .expect("kanban board test view renders"); - SafeHtml::trusted(html) } fn selector(value: &str) -> Selector {