Cython has moved to github.

cython-devel

view tests/run/non_dict_kwargs_T470.pyx @ 2802:df9b7285ec6a

implement #470: non-dicts as **kwargs
author Stefan Behnel <scoder@users.berlios.de>
date Thu Jan 14 08:36:13 2010 +0100 (2 years ago)
parents
children
line source
1 __doc__ = u"""
2 >>> func(**{'a' : 7})
3 True
4 >>> func(**SubDict())
5 True
7 >>> call_non_dict_test()
8 True
9 >>> call_non_dict_test_kw()
10 True
12 >>> call_sub_dict_test()
13 True
14 >>> call_sub_dict_test_kw()
15 True
16 """
18 import sys
20 if sys.version_info >= (2,6):
21 __doc__ += u"""
22 >>> func(**NonDict())
23 True
24 """
26 def func(**kwargs):
27 return type(kwargs) is dict and kwargs['a'] == 7
30 class NonDict(object):
31 def __getitem__(self, k):
32 assert k == 'a'
33 return 7
34 def keys(self):
35 return ['a']
37 def call_non_dict_test():
38 return func(**NonDict())
40 def call_non_dict_test_kw():
41 return func(a=5, **NonDict())
44 class SubDict(dict):
45 def __init__(self):
46 self['a'] = 7
48 def call_sub_dict_test():
49 return func(**SubDict())
51 def call_sub_dict_test_kw():
52 return func(a=5, **SubDict())