createMock(ConfigLoaderInterface::class); $config = SystemConfigurationFactory::create($loader, ['timesheet' => ['markdown_content' => true]]); $sut = new MarkdownExtension(new Markdown(), $config); $this->assertEquals('
test
', $sut->markdownToHtml('*test*')); $this->assertEquals('foo bar
", $sut->timesheetContent("- test\n- foo\n\nfoo __bar__") ); $this->assertEquals( '', $sut->timesheetContent('[XSS](javascript:alert(`XSS`))') ); } public function testCommentContent() { $loader = $this->createMock(ConfigLoaderInterface::class); $config = SystemConfigurationFactory::create($loader, ['timesheet' => ['markdown_content' => false]]); $sut = new MarkdownExtension(new Markdown(), $config); $this->assertEquals( "- test
\n- foo
# foobar
', $sut->commentContent('# foobar', true)); $this->assertEquals('# foobar
', $sut->commentContent('# foobar')); $this->assertEquals('## foobar', $sut->commentContent('## foobar', false)); $this->assertEquals('### foobar', $sut->commentContent('### foobar', false)); $this->assertEquals('' . $loremIpsum . '
', $sut->commentContent($loremIpsum, true)); $this->assertEquals('' . $loremIpsum . '
', $sut->commentContent($loremIpsum)); $this->assertEquals($loremIpsumShort, $sut->commentContent($loremIpsum, false)); $config = SystemConfigurationFactory::create($loader, ['timesheet' => ['markdown_content' => true]]); $sut = new MarkdownExtension(new Markdown(), $config); $this->assertEquals( "foo bar
", $sut->commentContent("- test\n- foo\n\nfoo __bar__") ); $this->assertEquals( '', $sut->commentContent('[XSS](javascript:alert(`XSS`))') ); } public function testCommentOneLiner() { $loader = $this->createMock(ConfigLoaderInterface::class); $config = SystemConfigurationFactory::create($loader, []); $sut = new MarkdownExtension(new Markdown(), $config); $loremIpsum = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'; $this->assertEquals('', $sut->commentOneLiner(null)); $this->assertEquals('', $sut->commentOneLiner('')); $this->assertEquals('', $sut->commentOneLiner(null, false)); $this->assertEquals('', $sut->commentOneLiner('', true)); $this->assertEquals( 'Lorem ipsum dolor sit amet, consetetur sadipscing …', $sut->commentOneLiner($loremIpsum, false) ); $this->assertEquals( 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. …', $sut->commentOneLiner(implode(PHP_EOL, [$loremIpsum, $loremIpsum, $loremIpsum]), true) ); $this->assertEquals( 'Lorem ipsum dolor sit amet, consetetur sadipscing …', $sut->commentOneLiner(implode(PHP_EOL, [$loremIpsum, $loremIpsum, $loremIpsum]), false) ); $this->assertEquals( 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt', $sut->commentOneLiner(implode(PHP_EOL, ['Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt']), true) ); $this->assertEquals( 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt …', $sut->commentOneLiner(implode(PHP_EOL, ['Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt', 'ssdf']), true) ); $this->assertEquals( 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt', $sut->commentOneLiner(implode(PHP_EOL, ['Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt'])) ); $this->assertEquals( 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt …', $sut->commentOneLiner(implode(PHP_EOL, ['Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt', 'ssdf'])) ); } }