Commit f81c0b0b authored by Stefan Behnel's avatar Stefan Behnel

extended test case

parent 1a2d1558
# mode: run # mode: run
# tags: kwargs, argument unpacking
# This test validates the error handling in the different specialised
# code paths of the argument unpacking code. The have-kwargs and
# no-kwargs branches take different paths, so we always test with and
# without a keyword dict (even if it's empty).
def test_single_arg(a): def test_single_arg(a):
""" """
>>> test_single_arg(1) >>> test_single_arg(1)
1 1
>>> test_single_arg() # doctest: +ELLIPSIS >>> test_single_arg(1, **{})
1
>>> test_single_arg() # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_single_arg(1,2) # doctest: +ELLIPSIS >>> test_single_arg(1,2) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_single_arg(**{}) # doctest: +ELLIPSIS >>> test_single_arg(1,2, **{}) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_single_arg(*(), **{}) # doctest: +ELLIPSIS >>> test_single_arg(**{}) # doctest: +ELLIPSIS
Traceback (most recent call last):
TypeError: ...
>>> test_single_arg(*(), **{}) # doctest: +ELLIPSIS
Traceback (most recent call last):
TypeError: ...
>>> test_single_arg(**{'b':2}) # doctest: +ELLIPSIS
Traceback (most recent call last):
TypeError: ...
>>> test_single_arg(**{'a':1, 'b':2}) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
""" """
...@@ -23,22 +40,37 @@ def test_two_args(a,b): ...@@ -23,22 +40,37 @@ def test_two_args(a,b):
""" """
>>> test_two_args(1,2) >>> test_two_args(1,2)
(1, 2) (1, 2)
>>> test_two_args() # doctest: +ELLIPSIS >>> test_two_args(1,2, **{})
(1, 2)
>>> test_two_args(1,**{'b':2})
(1, 2)
>>> test_two_args(**{'a':1, 'b':2})
(1, 2)
>>> test_two_args() # doctest: +ELLIPSIS
Traceback (most recent call last):
TypeError: ...
>>> test_two_args(1) # doctest: +ELLIPSIS
Traceback (most recent call last):
TypeError: ...
>>> test_two_args(1, **{}) # doctest: +ELLIPSIS
Traceback (most recent call last):
TypeError: ...
>>> test_two_args(1,2,3) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_two_args(1) # doctest: +ELLIPSIS >>> test_two_args(1,2,3, **{}) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_two_args(1,2,3) # doctest: +ELLIPSIS >>> test_two_args(**{}) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_two_args(**{}) # doctest: +ELLIPSIS >>> test_two_args(*(), **{}) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_two_args(1, **{}) # doctest: +ELLIPSIS >>> test_two_args(**{'a':1}) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
>>> test_two_args(*(), **{}) # doctest: +ELLIPSIS >>> test_two_args(**{'a':1, 'b':2, 'c':3}) # doctest: +ELLIPSIS
Traceback (most recent call last): Traceback (most recent call last):
TypeError: ... TypeError: ...
""" """
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment