Lichen

tests/keyword_args.py

934:2989aab1b4f7
2021-06-29 Paul Boddie Renamed the utf8string class to unicode, eliminating the unicode function. This means that the simple case of merely returning an object if it is already a Unicode object no longer occurs when using the unicode callable, but such behaviour might be better supported with more general customised instantiation functionality.
     1 class C:     2     def f(self, x, y, z):     3         return z     4      5 class D:     6     def f(self, a, b, c):     7         return c     8      9 def xyz(obj):    10     return obj.f(1, 2, z=3)    11     12 def abc(obj):    13     return obj.f(4, 5, c=6)    14     15 c = C()    16 d = D()    17     18 print xyz(c)                    # 3    19 print abc(d)                    # 6    20     21 try:    22     print xyz(d)                # should raise an exception    23 except TypeError:    24     print "xyz(d): argument cannot be used"