summaryrefslogtreecommitdiff
path: root/tests/test_syntax/inline/images.py
blob: 9c1dc3417d4b0cae09f5728d8a9a1215e29755db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
from markdown.test_tools import TestCase


class TestAdvancedImages(TestCase):

    def test_nested_square_brackets(self):
        self.assertMarkdownRenders(
            """![Text[[[[[[[]]]]]]][]](http://link.com/image.png) more text""",
            """<p><img alt="Text[[[[[[[]]]]]]][]" src="http://link.com/image.png" /> more text</p>"""
        )

    def test_nested_round_brackets(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/(((((((()))))))()).png) more text""",
            """<p><img alt="Text" src="http://link.com/(((((((()))))))()).png" /> more text</p>"""
        )

    def test_uneven_brackets_with_titles1(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/(.png"title") more text""",
            """<p><img alt="Text" src="http://link.com/(.png" title="title" /> more text</p>"""
        )

    def test_uneven_brackets_with_titles2(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/('.png"title") more text""",
            """<p><img alt="Text" src="http://link.com/('.png" title="title" /> more text</p>"""
        )

    def test_uneven_brackets_with_titles3(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/(.png"title)") more text""",
            """<p><img alt="Text" src="http://link.com/(.png" title="title)" /> more text</p>"""
        )

    def test_uneven_brackets_with_titles4(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/(.png "title") more text""",
            """<p><img alt="Text" src="http://link.com/(.png" title="title" /> more text</p>"""
        )

    def test_uneven_brackets_with_titles5(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/(.png "title)") more text""",
            """<p><img alt="Text" src="http://link.com/(.png" title="title)" /> more text</p>"""
        )

    def test_mixed_title_quotes1(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/'.png"title") more text""",
            """<p><img alt="Text" src="http://link.com/'.png" title="title" /> more text</p>"""
        )

    def test_mixed_title_quotes2(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/".png'title') more text""",
            """<p><img alt="Text" src="http://link.com/&quot;.png" title="title" /> more text</p>"""
        )

    def test_mixed_title_quotes3(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/with spaces.png'"and quotes" 'and title') more text""",
            """<p><img alt="Text" src="http://link.com/with spaces.png" title="&quot;and quotes&quot; 'and title" />"""
            """ more text</p>"""
        )

    def test_mixed_title_quotes4(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/with spaces'.png"and quotes" 'and title") more text""",
            """<p><img alt="Text" src="http://link.com/with spaces'.png" title="and quotes&quot; 'and title" />"""
            """ more text</p>"""
        )

    def test_mixed_title_quotes5(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/with spaces .png'"and quotes" 'and title') more text""",
            """<p><img alt="Text" src="http://link.com/with spaces .png" title="&quot;and quotes&quot;"""
            """ 'and title" /> more text</p>"""
        )

    def test_mixed_title_quotes6(self):
        self.assertMarkdownRenders(
            """![Text](http://link.com/with spaces "and quotes".png 'and title') more text""",
            """<p><img alt="Text" src="http://link.com/with spaces &quot;and quotes&quot;.png" title="and title" />"""
            """ more text</p>"""
        )

    def test_single_quote(self):
        self.assertMarkdownRenders(
            """![test](link"notitle.png)""",
            """<p><img alt="test" src="link&quot;notitle.png" /></p>"""
        )

    def test_angle_with_mixed_title_quotes(self):
        self.assertMarkdownRenders(
            """![Text](<http://link.com/with spaces '"and quotes".png> 'and title') more text""",
            """<p><img alt="Text" src="http://link.com/with spaces '&quot;and quotes&quot;.png" title="and title" />"""
            """ more text</p>"""
        )

    def test_misc(self):
        self.assertMarkdownRenders(
            """![Poster](http://humane_man.jpg "The most humane man.")""",
            """<p><img alt="Poster" src="http://humane_man.jpg" title="The most humane man." /></p>"""
        )

    def test_misc_ref(self):
        self.assertMarkdownRenders(
            self.dedent(
                """
                ![Poster][]

                [Poster]:http://humane_man.jpg "The most humane man."
                """
            ),
            self.dedent(
                """
                <p><img alt="Poster" src="http://humane_man.jpg" title="The most humane man." /></p>
                """
            )
        )

    def test_misc_blank(self):
        self.assertMarkdownRenders(
            """![Blank]()""",
            """<p><img alt="Blank" src="" /></p>"""
        )

    def test_misc_img_title(self):
        self.assertMarkdownRenders(
            """![Image](http://humane man.jpg "The most humane man.")""",
            """<p><img alt="Image" src="http://humane man.jpg" title="The most humane man." /></p>"""
        )

    def test_misc_img(self):
        self.assertMarkdownRenders(
            """![Image](http://humane man.jpg)""",
            """<p><img alt="Image" src="http://humane man.jpg" /></p>"""
        )