File: str_subclass_kwargs.pyx

package info (click to toggle)
cython 3.0.11%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 19,092 kB
  • sloc: python: 83,539; ansic: 18,831; cpp: 1,402; xml: 1,031; javascript: 511; makefile: 403; sh: 204; sed: 11
file content (21 lines) | stat: -rw-r--r-- 664 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def test_str_subclass_kwargs(k=None):
    """
    Test passing keywords with names that are not of type ``str``
    but a subclass:

    >>> class StrSubclass(str):
    ...     pass
    >>> class StrNoCompare(str):
    ...     def __eq__(self, other):
    ...         raise RuntimeError("do not compare me")
    ...     def __hash__(self):
    ...         return hash(str(self))
    >>> kwargs = {StrSubclass('k'): 'value'}
    >>> test_str_subclass_kwargs(**kwargs)
    'value'
    >>> kwargs = {StrNoCompare('k'): 'value'}
    >>> test_str_subclass_kwargs(**kwargs)
    Traceback (most recent call last):
    RuntimeError: do not compare me
    """
    return k