renderer = new MailBodyRenderer(); } public function testDoubleAsterisksMakeTextBoldAndSingleOnesItalic(): void { $this->assertSame( '
fett und kursiv
', $this->renderer->render('**fett** und *kursiv*', []) ); } public function testDashesBecomeABulletList(): void { $this->assertSame( "Erste Zeile
\nZweite Zeile
Neuer Absatz
", $this->renderer->render("Erste Zeile\nZweite Zeile\n\nNeuer Absatz", []) ); } public function testBareUrlsAndMailAddressesBecomeLinks(): void { $html = $this->renderer->render('Schreib an team@ep-reisen.de oder https://ep-reisen.de/team.', []); $this->assertStringContainsString('team@ep-reisen.de', $html); // The full stop ends the sentence, it is not part of the address. $this->assertStringContainsString('https://ep-reisen.de/team.', $html); } public function testAnEscapedAsteriskStaysLiteral(): void { $this->assertSame('Ein Sternchen: *
', $this->renderer->render('Ein Sternchen: \*', [])); } /** * Admins write Markdown, so markup they type is dropped rather than passed through. */ public function testMarkupTypedByAnAdminIsStripped(): void { $html = $this->renderer->render('Hallo alle ', []); $this->assertStringNotContainsString('', $html); $this->assertStringNotContainsString('