converter = new HtmlToMarkdownConverter(); } public function testDropsEmbedsMediaAndFormsWithTheirContent(): void { $markdown = $this->converter->convert('

Text

BildIcon
'); self::assertSame('Text', $markdown); } public function testKeepsHeadingsListsTablesAndEmphasis(): void { $markdown = $this->converter->convert('

Leistungen

AB
12
'); self::assertSame("## Leistungen\n\n- **Skipass**\n- *Bus*\n\n| A | B |\n|---|---|\n| 1 | 2 |", $markdown); } public function testResolvesRelativeLinksAgainstTheDocumentUrl(): void { $markdown = $this->converter->convert('AGB Kontakt Mail SZ', 'https://www.ep-reisen.de/info/reise'); self::assertSame('[AGB](https://www.ep-reisen.de/agb) [Kontakt](https://www.ep-reisen.de/info/kontakt) [Mail](mailto:info@ep-reisen.de) [SZ](https://snowzone.net/)', $markdown); } public function testCollapsesTemplateWhitespaceAndDecodesEntities(): void { $markdown = $this->converter->convert("
\n \n Ski-\n Gruppenhäuser\n
\n\n\n\n

Essen & Trinken

", 'https://www.ep-reisen.de/'); self::assertSame("[Ski- Gruppenhäuser](https://www.ep-reisen.de/x)\n\nEssen & Trinken", $markdown); } public function testEmptyInputIsEmpty(): void { self::assertSame('', $this->converter->convert(null)); self::assertSame('', $this->converter->convert(' ')); self::assertSame('', $this->converter->convert('
')); } }