diff --git a/helpdesk/models.py b/helpdesk/models.py index 9ab2224e..2c1b5f14 100644 --- a/helpdesk/models.py +++ b/helpdesk/models.py @@ -49,7 +49,7 @@ def get_markdown(text): # Search for markdown that creates a clickable link and remove the undesirable ones pattern = re.compile(r"(\[[\s\S]*?\])\(([\w]*?):([\s\S]*?)\)", flags=re.MULTILINE) - rerun_scheme_check = True # Used to decided to re-check the text after each parse + rerun_scheme_check = True # Used to decided to re-check the text after each parse while rerun_scheme_check: has_illegal_scheme = False for m in re.finditer(pattern, text): diff --git a/helpdesk/tests/test_markdown.py b/helpdesk/tests/test_markdown.py index 6c11864c..3d281ecc 100644 --- a/helpdesk/tests/test_markdown.py +++ b/helpdesk/tests/test_markdown.py @@ -49,12 +49,14 @@ class MarkDown(SimpleTestCase): output_value = get_markdown(input_value) self.assertEqual(output_value, expected_value) - def test_multiline_markdown_link_with_correct_and_incorrect_protocol_twice_declared(self): + def test_multiline_markdown_link_with_correct_and_incorrect_protocol_twice_declared( + self, + ): expected_value = '

ThisXSS

\n

FAKE IT TILL YOU MAKE IT: TEST

' input_value = "This[XSS](http://alert.javascript.test)\n\nFAKE IT TILL YOU MAKE IT: [TEST](javascript:javascript:alert(document.domain);)" output_value = get_markdown(input_value) self.assertEqual(output_value, expected_value) - + def test_markdown_link_with__multiple_incorrect_protocols(self): expected_value = '

First one:XSS1 ...try again: XSS2

' input_value = "First one:[XSS1](javascript:alert(document.domain);) ...try again: [XSS2](javascript:javascript:alert(document.domain);)"