mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
84 lines
2.3 KiB
Python
84 lines
2.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
test_apidoc
|
|
~~~~~~~~~~~
|
|
|
|
Test the sphinx.apidoc module.
|
|
|
|
:copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
|
|
:license: BSD, see LICENSE for details.
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
|
|
import sys
|
|
from six import PY2
|
|
|
|
from sphinx import apidoc
|
|
|
|
from util import with_tempdir, with_app, rootdir
|
|
|
|
|
|
@with_tempdir
|
|
def test_simple(tempdir):
|
|
codedir = rootdir / 'root'
|
|
outdir = tempdir / 'out'
|
|
args = ['sphinx-apidoc', '-o', outdir, '-F', codedir]
|
|
apidoc.main(args)
|
|
|
|
assert (outdir / 'conf.py').isfile()
|
|
assert (outdir / 'autodoc_fodder.rst').isfile()
|
|
assert (outdir / 'index.rst').isfile()
|
|
|
|
@with_app('text', srcdir=outdir)
|
|
def assert_build(app, status, warning):
|
|
app.build()
|
|
print(status.getvalue())
|
|
print(warning.getvalue())
|
|
|
|
sys.path.append(codedir)
|
|
try:
|
|
assert_build()
|
|
finally:
|
|
sys.path.remove(codedir)
|
|
|
|
|
|
@with_tempdir
|
|
def test_multibyte_parameters(tempdir):
|
|
codedir = rootdir / 'root'
|
|
outdir = tempdir / 'out'
|
|
args = ['sphinx-apidoc', '-o', outdir, '-F', codedir,
|
|
'--doc-project', u'プロジェクト名'.encode('utf-8'),
|
|
'--doc-author', u'著者名'.encode('utf-8'),
|
|
'--doc-version', u'バージョン'.encode('utf-8'),
|
|
'--doc-release', u'リリース'.encode('utf-8')]
|
|
apidoc.main(args)
|
|
|
|
assert (outdir / 'conf.py').isfile()
|
|
assert (outdir / 'autodoc_fodder.rst').isfile()
|
|
assert (outdir / 'index.rst').isfile()
|
|
|
|
conf_py = (outdir / 'conf.py').text()
|
|
if PY2:
|
|
assert u"project = u'プロジェクト名'" in conf_py
|
|
assert u"author = u'著者名'" in conf_py
|
|
assert u"version = u'バージョン'" in conf_py
|
|
assert u"release = u'リリース'" in conf_py
|
|
else:
|
|
assert u"project = 'プロジェクト名'" in conf_py
|
|
assert u"author = '著者名'" in conf_py
|
|
assert u"version = 'バージョン'" in conf_py
|
|
assert u"release = 'リリース'" in conf_py
|
|
|
|
@with_app('text', srcdir=outdir)
|
|
def assert_build(app, status, warning):
|
|
app.build()
|
|
print(status.getvalue())
|
|
print(warning.getvalue())
|
|
|
|
sys.path.append(codedir)
|
|
try:
|
|
assert_build()
|
|
finally:
|
|
sys.path.remove(codedir)
|