19 declare(strict_types=1);
35 protected function setUp(): void
37 $language = $this->getMockBuilder(Language::class)
38 ->disableOriginalConstructor()
42 $this->markdown = $group->markdown(
false)->toHTML();
43 $this->markdown_with_escaped_html = $group->markdown()->toHTML();
49 [
"lorem",
"<p>lorem</p>\n"],
50 [
"lorem **ipsum**",
"<p>lorem <strong>ipsum</strong></p>\n"],
51 [
"_lorem_ **ipsum**",
"<p><em>lorem</em> <strong>ipsum</strong></p>\n"],
52 [
"# Headline",
"<h1>Headline</h1>\n"],
53 [
"## Headline",
"<h2>Headline</h2>\n"],
54 [
"### Headline",
"<h3>Headline</h3>\n"],
55 [
"1. Lorem\n2. Ipsum",
"<ol>\n<li>Lorem</li>\n<li>Ipsum</li>\n</ol>\n"],
56 [
"- Lorem\n- Ipsum",
"<ul>\n<li>Lorem</li>\n<li>Ipsum</li>\n</ul>\n"],
57 [
"[Link Titel](https://www.ilias.de)",
"<p><a href=\"https://www.ilias.de\">Link Titel</a></p>\n"],
61 #[DataProvider('stringProvider')] 63 string $markdown_string,
64 string $expected_html,
66 $this->assertEquals($expected_html, $this->markdown->transform($markdown_string));
71 $markdown_with_html =
"lorem **ipsum**\n<ul><li>phpunit</li></ul>";
73 $expected =
"<p>lorem <strong>ipsum</strong></p>\n<ul><li>phpunit</li></ul>\n";
75 $this->assertSame($expected, $this->markdown->transform($markdown_with_html));
80 $markdown_with_html =
"lorem **ipsum**\n[xss](javascript:alert(1))";
82 $expected =
"<p>lorem <strong>ipsum</strong>\n<a>xss</a></p>\n";
84 $this->assertSame($expected, $this->markdown->transform($markdown_with_html));
89 $markdown_with_html =
"lorem **ipsum**\n<ul><li>phpunit</li></ul>";
91 $expected =
"<p>lorem <strong>ipsum</strong></p>\n<ul><li>phpunit</li></ul>\n";
93 $this->assertSame($expected, $this->markdown_with_escaped_html->transform($markdown_with_html));
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...