diff options
author | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2014-07-13 11:43:12 +0900 |
---|---|---|
committer | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2014-07-13 11:43:12 +0900 |
commit | da20c3713b482926bc59b6c69fa359ed401aa2a1 (patch) | |
tree | f05f325d853a6e12a2448ea70a3b2838bec2b485 /tests/test_py_domain.py | |
parent | 090d269d45ea662418ebb16fd74cc1ce194f39f8 (diff) | |
parent | 269421bc5844ec6234b8c37bfb2a5dcbec609f27 (diff) | |
download | sphinx-git-da20c3713b482926bc59b6c69fa359ed401aa2a1.tar.gz |
merge with stable
Diffstat (limited to 'tests/test_py_domain.py')
-rw-r--r-- | tests/test_py_domain.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/test_py_domain.py b/tests/test_py_domain.py new file mode 100644 index 000000000..87f6eb98b --- /dev/null +++ b/tests/test_py_domain.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +""" + test_py_domain + ~~~~~~~~~~~~~~ + + Tests the Python Domain + + :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from six import text_type + +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') + assert text_type(rv) == u'a=1' + + rv = parse('func(a=1, [b=None])') + assert text_type(rv) == u'a=1, [b=None]' + + rv = parse('func(a=1[, b=None])') + assert text_type(rv) == u'a=1, [b=None]' + + rv = parse("compile(source : string, filename, symbol='file')") + assert text_type(rv) == u"source : string, filename, symbol='file'" + + rv = parse('func(a=[], [b=None])') + assert text_type(rv) == u'a=[], [b=None]' + + rv = parse('func(a=[][, b=None])') + assert text_type(rv) == u'a=[], [b=None]' |