2014-07-12 06:50:15 -05:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
2014-09-21 10:17:02 -05:00
|
|
|
test_domain_py
|
2014-07-12 06:50:15 -05:00
|
|
|
~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Tests the Python Domain
|
|
|
|
|
2016-01-14 15:54:04 -06:00
|
|
|
:copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
|
2014-07-12 06:50:15 -05:00
|
|
|
:license: BSD, see LICENSE for details.
|
|
|
|
"""
|
|
|
|
|
2014-07-12 21:43:12 -05:00
|
|
|
from six import text_type
|
|
|
|
|
2014-07-12 06:50:15 -05:00
|
|
|
from sphinx import addnodes
|
|
|
|
from sphinx.domains.python import py_sig_re, _pseudo_parse_arglist
|
|
|
|
|
|
|
|
|
|
|
|
def parse(sig):
|
|
|
|
m = py_sig_re.match(sig)
|
|
|
|
if m is None:
|
|
|
|
raise ValueError
|
|
|
|
name_prefix, name, arglist, retann = m.groups()
|
|
|
|
signode = addnodes.desc_signature(sig, '')
|
|
|
|
_pseudo_parse_arglist(signode, arglist)
|
|
|
|
return signode.astext()
|
|
|
|
|
|
|
|
|
|
|
|
def test_function_signatures():
|
|
|
|
|
|
|
|
rv = parse('func(a=1) -> int object')
|
2014-07-12 21:43:12 -05:00
|
|
|
assert text_type(rv) == u'a=1'
|
2014-07-12 06:50:15 -05:00
|
|
|
|
|
|
|
rv = parse('func(a=1, [b=None])')
|
2014-07-12 21:43:12 -05:00
|
|
|
assert text_type(rv) == u'a=1, [b=None]'
|
2014-07-12 06:50:15 -05:00
|
|
|
|
|
|
|
rv = parse('func(a=1[, b=None])')
|
2014-07-12 21:43:12 -05:00
|
|
|
assert text_type(rv) == u'a=1, [b=None]'
|
2014-07-12 06:50:15 -05:00
|
|
|
|
|
|
|
rv = parse("compile(source : string, filename, symbol='file')")
|
2014-07-12 21:43:12 -05:00
|
|
|
assert text_type(rv) == u"source : string, filename, symbol='file'"
|
2014-07-12 06:50:15 -05:00
|
|
|
|
|
|
|
rv = parse('func(a=[], [b=None])')
|
2014-07-12 21:43:12 -05:00
|
|
|
assert text_type(rv) == u'a=[], [b=None]'
|
2014-07-12 06:50:15 -05:00
|
|
|
|
|
|
|
rv = parse('func(a=[][, b=None])')
|
2014-07-12 21:43:12 -05:00
|
|
|
assert text_type(rv) == u'a=[], [b=None]'
|