#+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
`, ) testing.expect_value( t, inject_alerts("ℹ️ Hello.
\n"), `[!TIP] Be smart.
\n
`, ) testing.expect_value( t, inject_alerts("💡 Be smart.
\n"), `[!CAUTION] Danger!
\n
`, ) } @(test) test_non_alerts_pass_through_inject_alerts :: proc(t: ^testing.T) { testing.expect_value( t, inject_alerts("❗ Danger!
\n"), "Just a quote.
\n
\n", ) testing.expect_value( t, inject_alerts("Just a quote.
\n
\n"), "[!UNKNOWN] Nope.
\n
\n", ) testing.expect_value( t, inject_alerts("[!UNKNOWN] Nope.
\n
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
`, ) testing.expect_value( t, inject_alerts("ℹ️ Mixed case.
\n"), `[!NOTE] Upper case.
\n
`, ) } @(test) test_multiple_alerts_render_together :: proc(t: ^testing.T) { testing.expect_value( t, inject_alerts( "ℹ️ Upper case.
\n\n[!NOTE] First.
\n
\n", ), `[!TIP] Second.
\n
ℹ️ First.
`, ) testing.expect_value( t, inject_alerts( "💡 Second.
\n\nRegular.
\n
\n", ), `[!WARNING] Alert!
\n
Regular.
`, ) }⚠️ Alert!