summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Core/Markdown.php13
-rw-r--r--tests/units/Helper/TextHelperTest.php14
2 files changed, 27 insertions, 0 deletions
diff --git a/app/Core/Markdown.php b/app/Core/Markdown.php
index b8fe618f..ae6adb5e 100644
--- a/app/Core/Markdown.php
+++ b/app/Core/Markdown.php
@@ -145,4 +145,17 @@ class Markdown extends Parsedown
array('task_id' => $task_id)
);
}
+
+ /**
+ * Exclude from nesting task links and user mentions for links
+ *
+ * @param array $Excerpt
+ * @return array|null
+ */
+ protected function inlineLink($Excerpt)
+ {
+ $Inline = parent::inlineLink($Excerpt);
+ array_push($Inline['element']['nonNestables'], 'TaskLink', 'UserLink');
+ return $Inline;
+ }
}
diff --git a/tests/units/Helper/TextHelperTest.php b/tests/units/Helper/TextHelperTest.php
index f8c0f845..9d862900 100644
--- a/tests/units/Helper/TextHelperTest.php
+++ b/tests/units/Helper/TextHelperTest.php
@@ -50,6 +50,13 @@ class TextHelperTest extends Base
'Check that: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454'
)
);
+
+ $this->assertEquals(
+ '<p><a href="http://localhost">item #123 is here</a></p>',
+ $textHelper->markdown(
+ '[item #123 is here](http://localhost)'
+ )
+ );
}
public function testMarkdownUserLink()
@@ -100,6 +107,13 @@ class TextHelperTest extends Base
);
$this->assertEquals('<p>Text @admin @notfound</p>', $textHelper->markdown('Text @admin @notfound', true));
+
+ $this->assertEquals(
+ '<p><a href="http://localhost">mention @admin at localhost</a></p>',
+ $textHelper->markdown(
+ '[mention @admin at localhost](http://localhost)'
+ )
+ );
}
public function testFormatBytes()