Cringe.Test (cringe v0.2.0)

Copy Markdown View Source

Test helpers for Cringe apps and documents.

Summary

Functions

app_text(server)

@spec app_text(GenServer.server()) :: String.t()

assert_render(document, expected, opts \\ [])

(macro)

assert_text(server, expected)

(macro)

clean_heredoc(heredoc)

@spec clean_heredoc(String.t()) :: String.t()

Normalizes an expected multiline heredoc for render assertions.

Leading/trailing newlines are removed and common indentation is stripped, so expected terminal output can stay readable inside test modules.

event(server, event)

@spec event(GenServer.server(), term()) :: :ok

key(server, key, opts \\ [])

@spec key(GenServer.server(), atom(), keyword()) :: :ok

rendered(document, opts \\ [])

@spec rendered(
  Cringe.Document.t(),
  keyword()
) :: String.t()

start(app, opts \\ [])

@spec start(
  module(),
  keyword()
) :: GenServer.on_start()