using ChatAgent.Client.Services; namespace ChatAgent.Client.Tests; /// /// Tests for MarkdownService covering markdown rendering and HTML sanitization. /// Each test verifies a specific markdown element or sanitization rule from the /// rich-text-display spec. /// public class MarkdownServiceTests { private readonly MarkdownService _sut = new(); // --- Markdown rendering tests --- [Fact] public void ConvertToHtml_BoldText_RendersStrong() { var result = _sut.ConvertToHtml("**bold text**"); Assert.Contains("bold text", result); } [Fact] public void ConvertToHtml_ItalicText_RendersEm() { var result = _sut.ConvertToHtml("*italic text*"); Assert.Contains("italic text", result); } [Fact] public void ConvertToHtml_FencedCodeBlock_RendersPreCode() { var result = _sut.ConvertToHtml("```\nvar x = 1;\n```"); Assert.Contains("
", result);
        Assert.Contains("", result);
        Assert.Contains("var x = 1;", result);
    }

    [Fact]
    public void ConvertToHtml_InlineCode_RendersCode()
    {
        var result = _sut.ConvertToHtml("Use `Console.WriteLine` here");
        Assert.Contains("Console.WriteLine", result);
    }

    [Fact]
    public void ConvertToHtml_UnorderedList_RendersUlLi()
    {
        var result = _sut.ConvertToHtml("- item one\n- item two");
        Assert.Contains("