diff --git a/tests/run/duplicate_keyword_in_call.py b/tests/run/duplicate_keyword_in_call.py new file mode 100644 index 0000000000000000000000000000000000000000..0b7a22742fbe8a8b6c3bf3e959dc174fb638724b --- /dev/null +++ b/tests/run/duplicate_keyword_in_call.py @@ -0,0 +1,26 @@ +# mode: run +# tags: kwargs, call +# ticket: 717 + +def f(**kwargs): + return sorted(kwargs.items()) + +def test_call(kwargs): + """ + >>> kwargs = {'b' : 2} + >>> f(a=1, **kwargs) + [('a', 1), ('b', 2)] + >>> test_call(kwargs) + [('a', 1), ('b', 2)] + + >>> kwargs = {'a' : 2} + >>> f(a=1, **kwargs) + Traceback (most recent call last): + TypeError: f() got multiple values for keyword argument 'a' + + FIXME: remove ellipsis, fix function name + >>> test_call(kwargs) # doctest: +ELLIPSIS + Traceback (most recent call last): + TypeError: ...() got multiple values for keyword argument 'a' + """ + return f(a=1, **kwargs)