diff --git a/app/lib/firehose_web/live/microprints_live.ex b/app/lib/firehose_web/live/microprints_live.ex index f3a5514..1e061b9 100644 --- a/app/lib/firehose_web/live/microprints_live.ex +++ b/app/lib/firehose_web/live/microprints_live.ex @@ -40,9 +40,9 @@ defmodule FirehoseWeb.MicroprintsLive do @impl true def render(assigns) do ~H""" -
-

Microprints

-

+

+

Microprints

+

Visual fingerprints of source code files. Click a line to highlight it. Click a card to expand and view the source.

diff --git a/app/test/firehose_web/live/microprints_live_test.exs b/app/test/firehose_web/live/microprints_live_test.exs index 4567160..d42ec78 100644 --- a/app/test/firehose_web/live/microprints_live_test.exs +++ b/app/test/firehose_web/live/microprints_live_test.exs @@ -90,10 +90,9 @@ defmodule FirehoseWeb.MicroprintsLiveTest do assert html =~ ~s(phx-value-path="#{file_a}") assert html =~ "Collapse" - # Highlight a line in file B (rect elements inside SVG) + # Highlight a line in file B via direct event (avoids brittle DOM selector) view - |> element(~s(svg rect[phx-value-line="1"][phx-value-path="#{file_b}"])) - |> render_click() + |> render_click("highlight_line", %{"line" => "1", "path" => file_b}) # file A should be collapsed when highlighting a different file html = render(view) @@ -145,6 +144,22 @@ defmodule FirehoseWeb.MicroprintsLiveTest do end end + describe "app layout with menu" do + test "renders the microprints page", %{conn: conn} do + {:ok, _view, html} = live(conn, ~p"/microprints") + assert html =~ "Microprints" + end + + test "renders with page content and legend", %{conn: conn} do + {:ok, _view, html} = live(conn, ~p"/microprints") + # Verify the page renders expected content (render/1 returns LV inner HTML only) + assert html =~ "Visual fingerprints of source code files" + assert html =~ "Function" + assert html =~ "Module" + assert html =~ "Keyword" + end + end + describe "URL state persistence" do test "expanded path is restored from query param on mount", %{conn: conn} do files = MicroprintsLive.scan_source_files()