From dd6794cff8a1f26c4d08544d89e1df1f521dcb26 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 19 May 2018 12:55:43 +0200 Subject: Fix feed permalink rendering with markdown escape set to true Fixes #1134 --- tests/plugins/PluginMarkdownTest.php | 55 ++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'tests/plugins') diff --git a/tests/plugins/PluginMarkdownTest.php b/tests/plugins/PluginMarkdownTest.php index ddc2728d..b31e817f 100644 --- a/tests/plugins/PluginMarkdownTest.php +++ b/tests/plugins/PluginMarkdownTest.php @@ -49,6 +49,30 @@ class PluginMarkdownTest extends PHPUnit_Framework_TestCase $this->assertNotFalse(strpos($data['links'][0]['description'], '

')); } + /** + * Test render_feed hook. + */ + public function testMarkdownFeed() + { + $markdown = '# My title' . PHP_EOL . 'Very interesting content.'; + $markdown .= '— Permalien'; + $data = array( + 'links' => array( + 0 => array( + 'description' => $markdown, + ), + ), + ); + + $data = hook_markdown_render_feed($data, $this->conf); + $this->assertNotFalse(strpos($data['links'][0]['description'], '

')); + $this->assertNotFalse(strpos($data['links'][0]['description'], '

')); + $this->assertStringEndsWith( + '— Permalien

', + $data['links'][0]['description'] + ); + } + /** * Test render_daily hook. * Only check that there is basic markdown rendering. @@ -104,6 +128,37 @@ class PluginMarkdownTest extends PHPUnit_Framework_TestCase $this->assertEquals($text, $reversedText); } + public function testReverseFeedPermalink() + { + $text = 'Description... '; + $text .= '— Permalien'; + $expected = 'Description... — [Permalien](http://domain.tld/?0oc_VQ)'; + $processedText = reverse_feed_permalink($text); + + $this->assertEquals($expected, $processedText); + } + + public function testReverseLastFeedPermalink() + { + $text = 'Description... '; + $text .= '
Permalien'; + $expected = $text; + $text .= '
Permalien'; + $expected .= '
— [Permalien](http://domain.tld/?0oc_VQ)'; + $processedText = reverse_feed_permalink($text); + + $this->assertEquals($expected, $processedText); + } + + public function testReverseNoFeedPermalink() + { + $text = 'Hello! Where are you from?'; + $expected = $text; + $processedText = reverse_feed_permalink($text); + + $this->assertEquals($expected, $processedText); + } + /** * Test sanitize_html(). */ -- cgit v1.2.3