#+feature dynamic-literals #+test package markdown import "core:testing" @(test) test_alerts_render_properly :: proc(t: ^testing.T) { testing.expect_value( t, inject_alerts("
\n

[!NOTE] Hello.

\n
"), `

ℹ️ Hello.

`, ) testing.expect_value( t, inject_alerts("
\n

[!TIP] Be smart.

\n
"), `

💡 Be smart.

`, ) testing.expect_value( t, inject_alerts("
\n

[!CAUTION] Danger!

\n
"), `

❗ Danger!

`, ) } @(test) test_non_alerts_pass_through_inject_alerts :: proc(t: ^testing.T) { testing.expect_value( t, inject_alerts("
\n

Just a quote.

\n
"), "
\n

Just a quote.

\n
", ) testing.expect_value( t, inject_alerts("
\n

[!UNKNOWN] Nope.

\n
"), "
\n

[!UNKNOWN] Nope.

\n
", ) testing.expect_value( t, inject_alerts("

No blockquote here.

"), "

No blockquote here.

", ) testing.expect_value(t, inject_alerts(""), "") } @(test) test_case_insensitive_alerts_render :: proc(t: ^testing.T) { testing.expect_value( t, inject_alerts("
\n

[!Note] Mixed case.

\n
"), `

ℹ️ Mixed case.

`, ) testing.expect_value( t, inject_alerts("
\n

[!NOTE] Upper case.

\n
"), `

ℹ️ Upper case.

`, ) } @(test) test_multiple_alerts_render_together :: proc(t: ^testing.T) { testing.expect_value( t, inject_alerts( "
\n

[!NOTE] First.

\n
\n
\n

[!TIP] Second.

\n
", ), `

ℹ️ First.

💡 Second.

`, ) testing.expect_value( t, inject_alerts( "
\n

Regular.

\n
\n
\n

[!WARNING] Alert!

\n
", ), `

Regular.

⚠️ Alert!

`, ) }