Skip to content

Commit b2e64d4

Browse files
author
Denis Alexeev
authored
Add an ability to pass positional args as keyword (fixes #440) (#569)
1 parent 61da8af commit b2e64d4

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

allure-python-commons/src/utils.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,9 @@ def func_parameters(func, *args, **kwargs):
224224
>>> args_kwargs(1, 2, 5, 6)
225225
[('a', '1'), ('b', '2'), ('c', '5'), ('d', '6')]
226226
227+
>>> args_kwargs(1, b=2)
228+
[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
229+
227230
>>> @helper
228231
... def varargs(*a):
229232
... pass
@@ -307,7 +310,7 @@ def func_parameters(func, *args, **kwargs):
307310
args_dict = dict(zip(arg_spec.args, args))
308311

309312
if arg_spec.defaults:
310-
kwargs_defaults_dict = dict(zip(arg_spec.args[len(args):], arg_spec.defaults))
313+
kwargs_defaults_dict = dict(zip(arg_spec.args[-len(arg_spec.defaults):], arg_spec.defaults))
311314
parameters.update(kwargs_defaults_dict)
312315

313316
if arg_spec.varargs:

0 commit comments

Comments
 (0)