From 2c7de59ff87b198106554e4f32bb4fc5b9aa4516 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 17 Feb 2016 08:59:26 +0100 Subject: [PATCH] Issue 3905: Usernames with dashes in them can't be @mentioned. --- taiga/mdrender/extensions/mentions.py | 2 +- tests/integration/test_mdrender.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/taiga/mdrender/extensions/mentions.py b/taiga/mdrender/extensions/mentions.py index 83eeae20..2dcea03a 100644 --- a/taiga/mdrender/extensions/mentions.py +++ b/taiga/mdrender/extensions/mentions.py @@ -32,7 +32,7 @@ from taiga.users.models import User class MentionsExtension(Extension): def extendMarkdown(self, md, md_globals): - MENTION_RE = r'(@)([a-zA-Z0-9.-\.]+)' + MENTION_RE = r'(@)([a-zA-Z0-9.-\._]+)' mentionsPattern = MentionsPattern(MENTION_RE) mentionsPattern.md = md md.inlinePatterns.add('mentions', mentionsPattern, '_end') diff --git a/tests/integration/test_mdrender.py b/tests/integration/test_mdrender.py index 91b81ea2..169230db 100644 --- a/tests/integration/test_mdrender.py +++ b/tests/integration/test_mdrender.py @@ -38,6 +38,13 @@ def test_proccessor_valid_user_mention(): assert result == expected_result +def test_proccessor_valid_user_mention_with_dashes(): + factories.UserFactory(username="user1_text_after_dash", full_name="test name") + result = render(dummy_project, "**@user1_text_after_dash**") + expected_result = "

@user1_text_after_dash

" + assert result == expected_result + + def test_proccessor_invalid_user_mention(): result = render(dummy_project, "**@notvaliduser**") assert result == '

@notvaliduser

'