31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using ClaudeDo.Worker.Tickets;
|
|
|
|
namespace ClaudeDo.Worker.Tests.Tickets;
|
|
|
|
public sealed class TicketHtmlToMarkdownTests
|
|
{
|
|
[Fact]
|
|
public void Paragraphs_breaks_and_entities_become_markdown_paragraphs()
|
|
{
|
|
var md = TicketImportService.HtmlToMarkdown(
|
|
"<p>Lager -> Adressprüfung aus</p>Zeile 1<br>Zeile 2<div><br></div><div>Ende</div>");
|
|
|
|
Assert.Equal("Lager -> Adressprüfung aus\n\nZeile 1\n\nZeile 2\n\nEnde", md);
|
|
}
|
|
|
|
[Fact]
|
|
public void Lists_and_inline_formatting_map_to_the_MarkdownView_subset()
|
|
{
|
|
var md = TicketImportService.HtmlToMarkdown(
|
|
"<p>Offene Punkte:</p><ul><li class=\"MsoNormal\"><b>Band</b> sync</li><li>Waage</li></ul>" +
|
|
"<ol><li>Erst</li><li><em>Dann</em></li></ol><a href=\"http://x\">Link</a>");
|
|
|
|
Assert.Equal(
|
|
"Offene Punkte:\n\n- **Band** sync\n- Waage\n\n1. Erst\n2. *Dann*\n\nLink (http://x)", md);
|
|
}
|
|
|
|
[Fact]
|
|
public void Plain_text_passes_through()
|
|
=> Assert.Equal("Ticket ohne HTML", TicketImportService.HtmlToMarkdown(" Ticket ohne HTML "));
|
|
}
|