1"""
2    test_util_template
3    ~~~~~~~~~~~~~~~~~~
4
5    Tests sphinx.util.template functions.
6
7    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
8    :license: BSD, see LICENSE for details.
9"""
10
11from sphinx.util.template import ReSTRenderer
12
13
14def test_ReSTRenderer_escape():
15    r = ReSTRenderer()
16    template = '{{ "*hello*" | e }}'
17    assert r.render_string(template, {}) == r'\*hello\*'
18
19
20def test_ReSTRenderer_heading():
21    r = ReSTRenderer()
22
23    template = '{{ "hello" | heading }}'
24    assert r.render_string(template, {}) == 'hello\n====='
25
26    template = '{{ "hello" | heading(1) }}'
27    assert r.render_string(template, {}) == 'hello\n====='
28
29    template = '{{ "русский язык" | heading(2) }}'
30    assert r.render_string(template, {}) == ('русский язык\n'
31                                             '------------')
32
33    # language: ja
34    r.env.language = 'ja'
35    template = '{{ "русский язык" | heading }}'
36    assert r.render_string(template, {}) == ('русский язык\n'
37                                             '=======================')
38