diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/root/conf.py | 2 | ||||
| -rw-r--r-- | tests/root/includes.txt | 1 | ||||
| -rw-r--r-- | tests/root/markup.txt | 5 | ||||
| -rw-r--r-- | tests/root/objects.txt | 9 | ||||
| -rw-r--r-- | tests/roots/test-templating/_templates/autosummary/class.rst | 8 | ||||
| -rw-r--r-- | tests/roots/test-templating/_templates/layout.html | 6 | ||||
| -rw-r--r-- | tests/roots/test-templating/autosummary_templating.txt | 13 | ||||
| -rw-r--r-- | tests/roots/test-templating/conf.py | 11 | ||||
| -rw-r--r-- | tests/roots/test-templating/contents.txt | 7 | ||||
| -rw-r--r-- | tests/test_autodoc.py | 14 | ||||
| -rw-r--r-- | tests/test_build_html.py | 17 | ||||
| -rw-r--r-- | tests/test_config.py | 8 | ||||
| -rw-r--r-- | tests/test_intersphinx.py | 4 | ||||
| -rw-r--r-- | tests/test_markup.py | 2 | ||||
| -rw-r--r-- | tests/test_metadata.py | 6 | ||||
| -rw-r--r-- | tests/test_quickstart.py | 1 | ||||
| -rw-r--r-- | tests/test_templating.py | 36 |
17 files changed, 122 insertions, 28 deletions
diff --git a/tests/root/conf.py b/tests/root/conf.py index 8025ba33..3399043f 100644 --- a/tests/root/conf.py +++ b/tests/root/conf.py @@ -8,7 +8,7 @@ sys.path.append(os.path.abspath('..')) extensions = ['sphinx.ext.autodoc', 'sphinx.ext.jsmath', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.autosummary', 'sphinx.ext.doctest', 'sphinx.ext.extlinks', - 'sphinx.ext.viewcode', 'sphinx.ext.oldcmarkup', 'ext'] + 'sphinx.ext.viewcode', 'ext'] jsmath_path = 'dummy.js' diff --git a/tests/root/includes.txt b/tests/root/includes.txt index 904f0677..08917811 100644 --- a/tests/root/includes.txt +++ b/tests/root/includes.txt @@ -40,6 +40,7 @@ Literalinclude options .. cssclass:: inc-lines .. literalinclude:: literal.inc :lines: 6-7,9 + :lineno-start: 6 .. cssclass:: inc-startend .. literalinclude:: literal.inc diff --git a/tests/root/markup.txt b/tests/root/markup.txt index 1fb20cf0..34e8fdb8 100644 --- a/tests/root/markup.txt +++ b/tests/root/markup.txt @@ -79,6 +79,10 @@ Body directives b +.. parsed-literal:: + + with some *markup* inside + .. _admonition-section: @@ -139,6 +143,7 @@ Adding \n to test unescaping. * :doc:`subdir/includes` * ``:download:`` is tested in includes.txt * :option:`Python -c option <python -c>` +* This used to crash: :option:`Python c option` Test :abbr:`abbr (abbreviation)` and another :abbr:`abbr (abbreviation)`. diff --git a/tests/root/objects.txt b/tests/root/objects.txt index 57e82212..73661d22 100644 --- a/tests/root/objects.txt +++ b/tests/root/objects.txt @@ -101,6 +101,7 @@ Referring to :func:`nothing <>`. :type hour: DuplicateType :param hour: Duplicate param. Should not lead to crashes. :type hour: DuplicateType + :param .Cls extcls: A class from another module. C items @@ -117,14 +118,6 @@ C items .. c:var:: sphinx_global -Old C items (from oldcmarkup ext) ---------------------------------- - -.. cfunction:: Sphinx_Func() - -Refer to :cfunc:`Sphinx_Func`. - - Javascript items ================ diff --git a/tests/roots/test-templating/_templates/autosummary/class.rst b/tests/roots/test-templating/_templates/autosummary/class.rst new file mode 100644 index 00000000..7f153617 --- /dev/null +++ b/tests/roots/test-templating/_templates/autosummary/class.rst @@ -0,0 +1,8 @@ +{% extends "!autosummary/class.rst" %} + +{% block methods %} + + .. note:: autosummary/class.rst method block overloading + + {{ super() }} +{% endblock %} diff --git a/tests/roots/test-templating/_templates/layout.html b/tests/roots/test-templating/_templates/layout.html new file mode 100644 index 00000000..f836c773 --- /dev/null +++ b/tests/roots/test-templating/_templates/layout.html @@ -0,0 +1,6 @@ +{% extends "!layout.html" %} + +{% block extrahead %} +<!-- layout overloading --> +{{ super() }} +{% endblock %} diff --git a/tests/roots/test-templating/autosummary_templating.txt b/tests/roots/test-templating/autosummary_templating.txt new file mode 100644 index 00000000..05643a02 --- /dev/null +++ b/tests/roots/test-templating/autosummary_templating.txt @@ -0,0 +1,13 @@ +Autosummary templating test +=========================== + +.. autosummary:: + :toctree: generated + + sphinx.application.Sphinx + +.. currentmodule:: sphinx.application + +.. autoclass:: TemplateBridge + + .. automethod:: render diff --git a/tests/roots/test-templating/conf.py b/tests/roots/test-templating/conf.py new file mode 100644 index 00000000..225da82e --- /dev/null +++ b/tests/roots/test-templating/conf.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- + +project = 'Sphinx templating <Tests>' +source_suffix = '.txt' +keep_warnings = True +templates_path = ['_templates'] +release = version = '2013.120' + +extensions = ['sphinx.ext.autosummary'] +autosummary_generate = ['autosummary_templating'] + diff --git a/tests/roots/test-templating/contents.txt b/tests/roots/test-templating/contents.txt new file mode 100644 index 00000000..04a40e21 --- /dev/null +++ b/tests/roots/test-templating/contents.txt @@ -0,0 +1,7 @@ +Welcome to Sphinx Tests's documentation! +======================================== + +.. toctree:: + + autosummary_templating + diff --git a/tests/test_autodoc.py b/tests/test_autodoc.py index 7e60c5fb..82eb0f71 100644 --- a/tests/test_autodoc.py +++ b/tests/test_autodoc.py @@ -334,6 +334,20 @@ def test_get_doc(): directive.env.config.autoclass_content = 'both' assert getdocl('class', E) == ['Class docstring', '', 'Init docstring'] + # class does not have __init__ method + class F(object): + """Class docstring""" + + # docstring in the __init__ method of base class will be discard + for f in (False, True): + directive.env.config.autodoc_docstring_signature = f + directive.env.config.autoclass_content = 'class' + assert getdocl('class', F) == ['Class docstring'] + directive.env.config.autoclass_content = 'init' + assert getdocl('class', F) == ['Class docstring'] + directive.env.config.autoclass_content = 'both' + assert getdocl('class', F) == ['Class docstring'] + @with_setup(setup_test) def test_docstring_processing(): diff --git a/tests/test_build_html.py b/tests/test_build_html.py index d5b59e42..603ad546 100644 --- a/tests/test_build_html.py +++ b/tests/test_build_html.py @@ -42,9 +42,8 @@ http://www.python.org/logo.png reading included file u'.*?wrongenc.inc' seems to be wrong, try giving an \ :encoding: option\\n? %(root)s/includes.txt:4: WARNING: download file not readable: .*?nonexisting.png -%(root)s/objects.txt:\\d*: WARNING: using old C markup; please migrate to \ -new-style markup \(e.g. c:function instead of cfunction\), see \ -http://sphinx-doc.org/domains.html +%(root)s/markup.txt:\\d+: WARNING: Malformed :option: u'Python c option', does \ +not contain option marker - or -- or / """ HTML_WARNINGS = ENV_WARNINGS + """\ @@ -184,13 +183,11 @@ HTML_XPATH = { (".//a[@href='#userdesc-myobj'][@class='reference internal']", ''), # C references (".//span[@class='pre']", 'CFunction()'), - (".//a[@href='#Sphinx_DoSomething']", ''), - (".//a[@href='#SphinxStruct.member']", ''), - (".//a[@href='#SPHINX_USE_PYTHON']", ''), - (".//a[@href='#SphinxType']", ''), - (".//a[@href='#sphinx_global']", ''), - # reference from old C markup extension - (".//a[@href='#Sphinx_Func']", ''), + (".//a[@href='#c.Sphinx_DoSomething']", ''), + (".//a[@href='#c.SphinxStruct.member']", ''), + (".//a[@href='#c.SPHINX_USE_PYTHON']", ''), + (".//a[@href='#c.SphinxType']", ''), + (".//a[@href='#c.sphinx_global']", ''), # test global TOC created by toctree() (".//ul[@class='current']/li[@class='toctree-l1 current']/a[@href='']", 'Testing object descriptions'), diff --git a/tests/test_config.py b/tests/test_config.py index 4d3d51b0..ea6f3ba4 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -19,7 +19,8 @@ from sphinx.util.pycompat import b @with_app(confoverrides={'master_doc': 'master', 'nonexisting_value': 'True', - 'latex_elements.docclass': 'scrartcl'}) + 'latex_elements.docclass': 'scrartcl', + 'modindex_common_prefix': 'path1,path2'}) def test_core_config(app): cfg = app.config @@ -31,6 +32,7 @@ def test_core_config(app): # overrides assert cfg.master_doc == 'master' assert cfg.latex_elements['docclass'] == 'scrartcl' + assert cfg.modindex_common_prefix == ['path1', 'path2'] # simple default values assert 'locale_dirs' not in cfg.__dict__ @@ -92,7 +94,7 @@ def test_errors_warnings(dir): write_file(dir / 'conf.py', u'# -*- coding: utf-8\n\n' u'project = u"Jägermeister"\n', 'utf-8') cfg = Config(dir, 'conf.py', {}, None) - cfg.init_values() + cfg.init_values(lambda warning: 1/0) assert cfg.project == u'Jägermeister' # test the warning for bytestrings with non-ascii content @@ -122,5 +124,5 @@ def test_config_eol(tmpdir): for eol in ('\n', '\r\n'): configfile.write_bytes(b('project = "spam"' + eol)) cfg = Config(tmpdir, 'conf.py', {}, None) - cfg.init_values() + cfg.init_values(lambda warning: 1/0) assert cfg.project == u'spam' diff --git a/tests/test_intersphinx.py b/tests/test_intersphinx.py index a8679e7e..8ce02cc1 100644 --- a/tests/test_intersphinx.py +++ b/tests/test_intersphinx.py @@ -81,7 +81,7 @@ def test_read_inventory_v2(): '/util/glossary.html#term-a-term' -@with_app(confoverrides={'extensions': 'sphinx.ext.intersphinx'}) +@with_app() @with_tempdir def test_missing_reference(tempdir, app): inv_file = tempdir / 'inventory' @@ -157,7 +157,7 @@ def test_missing_reference(tempdir, app): assert contnode[0].astext() == 'py3k:unknown' -@with_app(confoverrides={'extensions': 'sphinx.ext.intersphinx'}) +@with_app() @with_tempdir def test_load_mappings_warnings(tempdir, app): """ diff --git a/tests/test_markup.py b/tests/test_markup.py index 311222ba..f182830a 100644 --- a/tests/test_markup.py +++ b/tests/test_markup.py @@ -132,7 +132,7 @@ def test_latex_escaping(): # in verbatim code fragments yield (verify, u'::\n\n @Γ\\∞${}', None, u'\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n' - u'@\\(\\Gamma\\)\\PYGZbs{}\\(\\infty\\)\\$\\PYGZob{}\\PYGZcb{}\n' + u'@\\(\\Gamma\\)\\PYGZbs{}\\(\\infty\\)\\PYGZdl{}\\PYGZob{}\\PYGZcb{}\n' u'\\end{Verbatim}') # in URIs yield (verify_re, u'`test <http://example.com/~me/>`_', None, diff --git a/tests/test_metadata.py b/tests/test_metadata.py index db955390..92dbe1c9 100644 --- a/tests/test_metadata.py +++ b/tests/test_metadata.py @@ -14,7 +14,7 @@ from util import TestApp -from nose.tools import assert_equals +from nose.tools import assert_equal app = env = None @@ -64,6 +64,6 @@ def test_docinfo(): } # I like this way of comparing dicts - easier to see the error. for key in exampledocinfo: - yield assert_equals, exampledocinfo.get(key), expecteddocinfo.get(key) + yield assert_equal, exampledocinfo.get(key), expecteddocinfo.get(key) # but then we still have to check for missing keys - yield assert_equals, set(expecteddocinfo.keys()), set(exampledocinfo.keys()) + yield assert_equal, set(expecteddocinfo.keys()), set(exampledocinfo.keys()) diff --git a/tests/test_quickstart.py b/tests/test_quickstart.py index 9daa7401..7323f48e 100644 --- a/tests/test_quickstart.py +++ b/tests/test_quickstart.py @@ -170,6 +170,7 @@ def test_quickstart_all_answers(tempdir): 'Author name': u'Wolfgang Schäuble & G\'Beckstein'.encode('utf-8'), 'Project version': '2.0', 'Project release': '2.0.1', + 'Project language': 'de', 'Source file suffix': '.txt', 'Name of your master document': 'contents', 'autodoc': 'y', diff --git a/tests/test_templating.py b/tests/test_templating.py new file mode 100644 index 00000000..025d6fd0 --- /dev/null +++ b/tests/test_templating.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +""" + test_templating + ~~~~~~~~~~~~~~~~ + + Test templating. + + :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from util import test_roots, with_app + + +def teardown_module(): + (test_roots / 'test-templating' / '_build').rmtree(True), + + +@with_app(buildername='html', srcdir=(test_roots / 'test-templating')) +def test_layout_overloading(app): + app.builder.build_all() + + result = (app.outdir / 'contents.html').text(encoding='utf-8') + + assert '<!-- layout overloading -->' in result + + +@with_app(buildername='html', srcdir=(test_roots / 'test-templating')) +def test_autosummary_class_template_overloading(app): + app.builder.build_all() + + result = (app.outdir / 'generated' / 'sphinx.application.Sphinx.html').text( + encoding='utf-8') + + assert 'autosummary/class.rst method block overloading' in result + |
