summaryrefslogtreecommitdiff
path: root/pelican/tests/test_rstdirectives.py
blob: 6b73397140a04b27ae38d74a8e1615d4aa193b33 (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
from unittest.mock import Mock

from pelican.tests.support import unittest


class Test_abbr_role(unittest.TestCase):
    def call_it(self, text):
        from pelican.rstdirectives import abbr_role
        rawtext = text
        lineno = 42
        inliner = Mock(name='inliner')
        nodes, system_messages = abbr_role(
            'abbr', rawtext, text, lineno, inliner)
        self.assertEqual(system_messages, [])
        self.assertEqual(len(nodes), 1)
        return nodes[0]

    def test(self):
        node = self.call_it("Abbr (Abbreviation)")
        self.assertEqual(node.astext(), "Abbr")
        self.assertEqual(node['explanation'], "Abbreviation")

    def test_newlines_in_explanation(self):
        node = self.call_it("CUL (See you\nlater)")
        self.assertEqual(node.astext(), "CUL")
        self.assertEqual(node['explanation'], "See you\nlater")

    def test_newlines_in_abbr(self):
        node = self.call_it("US of\nA \n (USA)")
        self.assertEqual(node.astext(), "US of\nA")
        self.assertEqual(node['explanation'], "USA")