Merge branch '3.x'

This commit is contained in:
Takeshi KOMIYA 2020-05-04 02:02:48 +09:00
commit 1c33824aea
6 changed files with 16 additions and 14 deletions

View File

@ -54,6 +54,8 @@ strict_optional = False
filterwarnings = filterwarnings =
all all
ignore::DeprecationWarning:docutils.io ignore::DeprecationWarning:docutils.io
ignore::DeprecationWarning:pyximport.pyximport
ignore::PendingDeprecationWarning:sphinx.util.pycompat
markers = markers =
sphinx sphinx
apidoc apidoc

View File

@ -23,8 +23,15 @@ def convert_with_2to3(filepath: str) -> str:
warnings.warn('convert_with_2to3() is deprecated', warnings.warn('convert_with_2to3() is deprecated',
RemovedInSphinx60Warning, stacklevel=2) RemovedInSphinx60Warning, stacklevel=2)
from lib2to3.refactor import RefactoringTool, get_fixers_from_package try:
from lib2to3.pgen2.parse import ParseError from lib2to3.refactor import RefactoringTool, get_fixers_from_package
from lib2to3.pgen2.parse import ParseError
except ImportError:
# python 3.9.0a6+ emits PendingDeprecationWarning for lib2to3.
# Additionally, removal of the module is still discussed at PEP-594.
# To support future python, this catches ImportError for lib2to3.
raise SyntaxError
fixers = get_fixers_from_package('lib2to3.fixes') fixers = get_fixers_from_package('lib2to3.fixes')
refactoring_tool = RefactoringTool(fixers) refactoring_tool = RefactoringTool(fixers)
source = refactoring_tool._read_python_source(filepath)[0] source = refactoring_tool._read_python_source(filepath)[0]

View File

@ -1,4 +1,5 @@
# cython: binding=True # cython: binding=True
# cython: language_level=3str
def foo(x: int, *args, y: str, **kwargs): def foo(x: int, *args, y: str, **kwargs):
"""Docstring.""" """Docstring."""

View File

@ -358,7 +358,7 @@ def test_autosummary_imported_members(app, status, warning):
def test_generate_autosummary_docs_property(app): def test_generate_autosummary_docs_property(app):
with patch('sphinx.ext.autosummary.generate.find_autosummary_in_files') as mock: with patch('sphinx.ext.autosummary.generate.find_autosummary_in_files') as mock:
mock.return_value = [AutosummaryEntry('target.methods.Base.prop', 'prop', None, False)] mock.return_value = [AutosummaryEntry('target.methods.Base.prop', 'prop', None, False)]
generate_autosummary_docs([], output_dir=app.srcdir, builder=app.builder, app=app) generate_autosummary_docs([], output_dir=app.srcdir, app=app)
content = (app.srcdir / 'target.methods.Base.prop.rst').read_text() content = (app.srcdir / 'target.methods.Base.prop.rst').read_text()
assert content == ("target.methods.Base.prop\n" assert content == ("target.methods.Base.prop\n"

View File

@ -18,6 +18,7 @@ from docutils.transforms.universal import SmartQuotes
from sphinx import addnodes from sphinx import addnodes
from sphinx.builders.html.transforms import KeyboardTransform from sphinx.builders.html.transforms import KeyboardTransform
from sphinx.builders.latex import LaTeXBuilder from sphinx.builders.latex import LaTeXBuilder
from sphinx.builders.latex.theming import ThemeFactory
from sphinx.roles import XRefRole from sphinx.roles import XRefRole
from sphinx.testing.util import Struct, assert_node from sphinx.testing.util import Struct, assert_node
from sphinx.util import texescape from sphinx.util import texescape
@ -110,7 +111,8 @@ def verify_re_latex(app, parse):
app.builder = LaTeXBuilder(app) app.builder = LaTeXBuilder(app)
app.builder.set_environment(app.env) app.builder.set_environment(app.env)
app.builder.init() app.builder.init()
latex_translator = ForgivingLaTeXTranslator(document, app.builder) theme = app.builder.themes.get('manual')
latex_translator = ForgivingLaTeXTranslator(document, app.builder, theme)
latex_translator.first_document = -1 # don't write \begin{document} latex_translator.first_document = -1 # don't write \begin{document}
document.walkabout(latex_translator) document.walkabout(latex_translator)
latex_translated = ''.join(latex_translator.body).strip() latex_translated = ''.join(latex_translator.body).strip()

View File

@ -59,16 +59,6 @@ def test_prepare_docstring():
" Ut enim ad minim veniam, quis nostrud exercitation", " Ut enim ad minim veniam, quis nostrud exercitation",
" ullamco laboris nisi ut aliquip ex ea commodo consequat.", " ullamco laboris nisi ut aliquip ex ea commodo consequat.",
""]) ""])
assert (prepare_docstring(docstring, 5) ==
["multiline docstring",
"",
"Lorem ipsum dolor sit amet, consectetur adipiscing elit,",
"sed do eiusmod tempor incididunt ut labore et dolore magna",
"aliqua::",
"",
"Ut enim ad minim veniam, quis nostrud exercitation",
" ullamco laboris nisi ut aliquip ex ea commodo consequat.",
""])
docstring = """ docstring = """