""" Python Markdown A Python implementation of John Gruber's Markdown. Documentation: https://python-markdown.github.io/ GitHub: https://github.com/Python-Markdown/markdown/ PyPI: https://pypi.org/project/Markdown/ Started by Manfred Stienstra (http://www.dwerg.net/). Maintained for a few years by Yuri Takhteyev (http://www.freewisdom.org). Currently maintained by Waylan Limberg (https://github.com/waylan), Dmitry Shachnev (https://github.com/mitya57) and Isaac Muse (https://github.com/facelessuser). Copyright 2007-2018 The Python Markdown Project (v. 1.7 and later) Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) Copyright 2004 Manfred Stienstra (the original version) License: BSD (see LICENSE.md for details). """ from markdown.test_tools import TestCase class TestInlineLinks(TestCase): def test_nested_square_brackets(self): self.assertMarkdownRenders( """[Text[[[[[[[]]]]]]][]](http://link.com) more text""", """
Text[[[[[[[]]]]]]][] more text
""" ) def test_nested_round_brackets(self): self.assertMarkdownRenders( """[Text](http://link.com/(((((((()))))))())) more text""", """Text more text
""" ) def test_uneven_brackets_with_titles1(self): self.assertMarkdownRenders( """[Text](http://link.com/("title") more text""", """Text more text
""" ) def test_uneven_brackets_with_titles2(self): self.assertMarkdownRenders( """[Text](http://link.com/('"title") more text""", """Text more text
""" ) def test_uneven_brackets_with_titles3(self): self.assertMarkdownRenders( """[Text](http://link.com/("title)") more text""", """Text more text
""" ) def test_uneven_brackets_with_titles4(self): self.assertMarkdownRenders( """[Text](http://link.com/( "title") more text""", """Text more text
""" ) def test_uneven_brackets_with_titles5(self): self.assertMarkdownRenders( """[Text](http://link.com/( "title)") more text""", """Text more text
""" ) def test_mixed_title_quotes1(self): self.assertMarkdownRenders( """[Text](http://link.com/'"title") more text""", """Text more text
""" ) def test_mixed_title_quotes2(self): self.assertMarkdownRenders( """[Text](http://link.com/"'title') more text""", """Text more text
""" ) def test_mixed_title_quotes3(self): self.assertMarkdownRenders( """[Text](http://link.com/with spaces'"and quotes" 'and title') more text""", """""" """Text more text
""" ) def test_mixed_title_quotes4(self): self.assertMarkdownRenders( """[Text](http://link.com/with spaces'"and quotes" 'and title") more text""", """Text more text
""" ) def test_mixed_title_quotes5(self): self.assertMarkdownRenders( """[Text](http://link.com/with spaces '"and quotes" 'and title') more text""", """""" """Text more text
""" ) def test_mixed_title_quotes6(self): self.assertMarkdownRenders( """[Text](http://link.com/with spaces "and quotes" 'and title') more text""", """""" """Text more text
""" ) def test_single_quote(self): self.assertMarkdownRenders( """[test](link"notitle)""", """""" ) def test_angle_with_mixed_title_quotes(self): self.assertMarkdownRenders( """[Text](""" """Text more text
""" ) def test_amp_in_url(self): """Test amp in URLs.""" self.assertMarkdownRenders( '[link](http://www.freewisdom.org/this&that)', '' ) self.assertMarkdownRenders( '[title](http://example.com/?a=1&b=2)', '' ) self.assertMarkdownRenders( '[title](http://example.com/?a=1&b=2)', '' ) class TestReferenceLinks(TestCase): def test_ref_link(self): self.assertMarkdownRenders( self.dedent( """ [Text] [Text]: http://example.com """ ), """""" ) def test_ref_link_angle_brackets(self): self.assertMarkdownRenders( self.dedent( """ [Text] [Text]:Two things:
\nI would like to tell you about the [code of
\n' 'conduct][] we are using in this project.
' ) def test_ref_link_nested_left_bracket(self): self.assertMarkdownRenders( self.dedent( """ [Text[] [Text[]: http://example.com """ ), self.dedent( """[Text[]
[Text[]: http://example.com
""" ) ) def test_ref_link_nested_right_bracket(self): self.assertMarkdownRenders( self.dedent( """ [Text]] [Text]]: http://example.com """ ), self.dedent( """[Text]]
[Text]]: http://example.com
""" ) )