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
|
#! /usr/bin/env python3
# $Id: test_latex2e_misc.py 9037 2022-03-05 23:31:10Z milde $
# Author: Günter Milde
# Maintainer: docutils-develop@lists.sourceforge.net
# :Copyright: 2020 Günter Milde,
# :License: Released under the terms of the `2-Clause BSD license`_, in short:
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.
# This file is offered as-is, without any warranty.
#
# .. _2-Clause BSD license: https://opensource.org/licenses/BSD-2-Clause
"""
Miscellaneous LaTeX writer tests.
"""
if __name__ == '__main__':
import __init__ # noqa: F401
from test_writers import DocutilsTestSupport
from docutils import core
contents_test_input = """\
.. contents:: TOC
foo
---
bar
---
"""
class TocTestCase(DocutilsTestSupport.StandardTestCase):
def test_publish_from_doctree(self):
"""Ignore the Docutils-generated ToC, when ``use_latex_toc``
is True. (This did happen when publishing from a doctree.)
"""
mysettings = {'output_encoding': 'unicode',
'_disable_config': True,
# avoid latex writer future warnings:
'use_latex_citations': False,
'legacy_column_widths': True,
}
doctree = core.publish_doctree(contents_test_input,
settings_overrides=mysettings)
result = core.publish_from_doctree(doctree,
writer_name='latex',
settings_overrides=mysettings)
self.assertNotIn(r'\item \hyperref[foo]{foo}', result)
# self.assertIn(r'\tableofcontents', result)
class WarningsTestCase(DocutilsTestSupport.StandardTestCase):
def test_future_warnings(self):
"""Warn about changing defaults."""
# Warn only if not set (uncommenting should make test fail):
mysettings = {'_disable_config': True,
# 'use_latex_citations': False,
# 'legacy_column_widths': True,
}
with self.assertWarnsRegex(FutureWarning,
'"legacy_column_widths" will change'):
core.publish_string('warnings test', writer_name='latex',
settings_overrides=mysettings)
with self.assertWarnsRegex(FutureWarning,
'"use_latex_citations" will change'):
core.publish_string('warnings test', writer_name='latex',
settings_overrides=mysettings)
if __name__ == '__main__':
import unittest
unittest.main()
|