netwatch.py/netaddr-0.7.10/netaddr/tests/3.x/core/compat.txt

105 lines
1.5 KiB
Plaintext

=Python 2.x and 3.x compatibility tests=
Copyright (c) 2008-2012, David P. D. Moss. All rights reserved.
{{{
>>> from netaddr.compat import _sys_maxint, _is_str, _is_int, _callable
>>> from netaddr.compat import _func_doc, _dict_keys, _dict_items
>>> from netaddr.compat import _iter_dict_keys, _bytes_join, _zip, _range
>>> from netaddr.compat import _iter_range, _func_name, _func_doc
# string and integer detection tests.
>>> _is_int(_sys_maxint)
True
>>> _is_str(_sys_maxint)
False
>>> _is_str('')
True
>>> _is_str(''.encode())
True
# byte string join tests.
>>> str_8bit = _bytes_join(['a'.encode(), 'b'.encode(), 'c'.encode()])
>>> str_8bit == 'abc'.encode()
True
>>> "b'abc'" == '%r' % str_8bit
True
# dict operation tests.
>>> d = { 'a' : 0, 'b' : 1, 'c' : 2 }
>>> sorted(_dict_keys(d)) == ['a', 'b', 'c']
True
>>> sorted(_dict_items(d)) == [('a', 0), ('b', 1), ('c', 2)]
True
# zip() BIF tests.
>>> l2 = _zip([0], [1])
>>> hasattr(_zip(l2), 'pop')
True
>>> l2 == [(0, 1)]
True
# range/xrange() tests.
>>> l1 = _range(3)
>>> isinstance(l1, list)
True
>>> hasattr(l1, 'pop')
True
>>> l1 == [0, 1, 2]
True
>>> it = _iter_range(3)
>>> isinstance(it, list)
False
>>> hasattr(it, '__iter__')
True
>>> it == [0, 1, 2]
False
>>> list(it) == [0, 1, 2]
True
# callable() and function meta-data tests.
>>> i = 1
>>> def f1():
... """docstring"""
... pass
>>> f2 = lambda x: x
>>> _callable(i)
False
>>> _callable(f1)
True
>>> _callable(f2)
True
>>> _func_name(f1) == 'f1'
True
>>> _func_doc(f1) == 'docstring'
True
}}}