diff options
author | Mark Dickinson <mdickinson@enthought.com> | 2012-04-29 17:34:40 (GMT) |
---|---|---|
committer | Mark Dickinson <mdickinson@enthought.com> | 2012-04-29 17:34:40 (GMT) |
commit | ea7e9f9a83a88325e599d0a7b31122e50495a5aa (patch) | |
tree | 733daf808a853c76e9b588af692e987492ec981a /Lib/test | |
parent | 99a56386f1eee02c1cb5b47d7a2c8bbfd2f1eb24 (diff) | |
download | cpython-ea7e9f9a83a88325e599d0a7b31122e50495a5aa.zip cpython-ea7e9f9a83a88325e599d0a7b31122e50495a5aa.tar.gz cpython-ea7e9f9a83a88325e599d0a7b31122e50495a5aa.tar.bz2 |
Issue #9154: Fix parser module to understand function annotations.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_parser.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py index 020acd5..833d317 100644 --- a/Lib/test/test_parser.py +++ b/Lib/test/test_parser.py @@ -146,6 +146,27 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase): self.check_suite("@funcattrs()\n" "def f(): pass") + # keyword-only arguments + self.check_suite("def f(*, a): pass") + self.check_suite("def f(*, a = 5): pass") + self.check_suite("def f(*, a = 5, b): pass") + self.check_suite("def f(*, a, b = 5): pass") + self.check_suite("def f(*, a, b = 5, **kwds): pass") + self.check_suite("def f(*args, a): pass") + self.check_suite("def f(*args, a = 5): pass") + self.check_suite("def f(*args, a = 5, b): pass") + self.check_suite("def f(*args, a, b = 5): pass") + self.check_suite("def f(*args, a, b = 5, **kwds): pass") + + # function annotations + self.check_suite("def f(a: int): pass") + self.check_suite("def f(a: int = 5): pass") + self.check_suite("def f(*args: list): pass") + self.check_suite("def f(**kwds: dict): pass") + self.check_suite("def f(*, a: int): pass") + self.check_suite("def f(*, a: int = 5): pass") + self.check_suite("def f() -> int: pass") + def test_class_defs(self): self.check_suite("class foo():pass") self.check_suite("class foo(object):pass") |