diff options
Diffstat (limited to 'tests/test_ext_autosummary.py')
-rw-r--r-- | tests/test_ext_autosummary.py | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/tests/test_ext_autosummary.py b/tests/test_ext_autosummary.py index 628c2524b..3e15ef244 100644 --- a/tests/test_ext_autosummary.py +++ b/tests/test_ext_autosummary.py @@ -31,6 +31,7 @@ default_kw = { 'confoverrides': { 'extensions': ['sphinx.ext.autosummary'], 'autosummary_generate': True, + 'autosummary_generate_overwrite': False, 'source_suffix': '.rst' } } @@ -209,13 +210,13 @@ def test_autosummary_generate(app, status, warning): assert doctree[3][0][0][2][2].astext() == 'autosummary_dummy_module.bar(x[, y])\n\n' assert doctree[3][0][0][2][3].astext() == 'autosummary_importfail\n\n' - module = (app.srcdir / 'generated' / 'autosummary_dummy_module.rst').text() + module = (app.srcdir / 'generated' / 'autosummary_dummy_module.rst').read_text() assert (' .. autosummary::\n' ' \n' ' Foo\n' ' \n' in module) - Foo = (app.srcdir / 'generated' / 'autosummary_dummy_module.Foo.rst').text() + Foo = (app.srcdir / 'generated' / 'autosummary_dummy_module.Foo.rst').read_text() assert '.. automethod:: __init__' in Foo assert (' .. autosummary::\n' ' \n' @@ -228,10 +229,40 @@ def test_autosummary_generate(app, status, warning): ' \n' in Foo) +@pytest.mark.sphinx('dummy', testroot='ext-autosummary', + confoverrides={'autosummary_generate_overwrite': False}) +def test_autosummary_generate_overwrite1(app_params, make_app): + args, kwargs = app_params + srcdir = kwargs.get('srcdir') + + (srcdir / 'generated').makedirs(exist_ok=True) + (srcdir / 'generated' / 'autosummary_dummy_module.rst').write_text('') + + app = make_app(*args, **kwargs) + content = (srcdir / 'generated' / 'autosummary_dummy_module.rst').read_text() + assert content == '' + assert 'autosummary_dummy_module.rst' not in app._warning.getvalue() + + +@pytest.mark.sphinx('dummy', testroot='ext-autosummary', + confoverrides={'autosummary_generate_overwrite': True}) +def test_autosummary_generate_overwrite2(app_params, make_app): + args, kwargs = app_params + srcdir = kwargs.get('srcdir') + + (srcdir / 'generated').makedirs(exist_ok=True) + (srcdir / 'generated' / 'autosummary_dummy_module.rst').write_text('') + + app = make_app(*args, **kwargs) + content = (srcdir / 'generated' / 'autosummary_dummy_module.rst').read_text() + assert content != '' + assert 'autosummary_dummy_module.rst' not in app._warning.getvalue() + + @pytest.mark.sphinx('latex', **default_kw) def test_autosummary_latex_table_colspec(app, status, warning): app.builder.build_all() - result = (app.outdir / 'python.tex').text(encoding='utf8') + result = (app.outdir / 'python.tex').read_text() print(status.getvalue()) print(warning.getvalue()) assert r'\begin{longtable}[c]{\X{1}{2}\X{1}{2}}' in result @@ -281,7 +312,7 @@ def test_autosummary_imported_members(app, status, warning): # generated/foo is generated successfully assert app.env.get_doctree('generated/autosummary_dummy_package') - module = (app.srcdir / 'generated' / 'autosummary_dummy_package.rst').text() + module = (app.srcdir / 'generated' / 'autosummary_dummy_package.rst').read_text() assert (' .. autosummary::\n' ' \n' ' Bar\n' @@ -300,7 +331,7 @@ def test_generate_autosummary_docs_property(app): mock.return_value = [('target.methods.Base.prop', 'prop', None)] generate_autosummary_docs([], output_dir=app.srcdir, builder=app.builder, app=app) - content = (app.srcdir / 'target.methods.Base.prop.rst').text() + content = (app.srcdir / 'target.methods.Base.prop.rst').read_text() assert content == ("target.methods.Base.prop\n" "========================\n" "\n" @@ -313,7 +344,7 @@ def test_generate_autosummary_docs_property(app): def test_autosummary_skip_member(app): app.build() - content = (app.srcdir / 'generate' / 'target.Foo.rst').text() + content = (app.srcdir / 'generate' / 'target.Foo.rst').read_text() assert 'Foo.skipmeth' not in content assert 'Foo._privatemeth' in content |