mirror of https://github.com/flaggo/pydu.git
add testcase for safestr and safeunicode
This commit is contained in:
parent
95d8034a81
commit
10e97531d9
|
@ -1,3 +1,4 @@
|
||||||
|
# coding: utf-8
|
||||||
from .structures import AttrDict
|
from .structures import AttrDict
|
||||||
from .py3helpers import PY2, itervalues, iteritems, text_type, string_types, imap, is_iter
|
from .py3helpers import PY2, itervalues, iteritems, text_type, string_types, imap, is_iter
|
||||||
|
|
||||||
|
@ -89,8 +90,8 @@ def safeunicode(obj, encoding='utf-8'):
|
||||||
u'hello'
|
u'hello'
|
||||||
>>> safeunicode(2)
|
>>> safeunicode(2)
|
||||||
u'2'
|
u'2'
|
||||||
>>> safeunicode('\xe1\x88\xb4')
|
>>> safeunicode('\xe4\xb8\xad\xe6\x96\x87')
|
||||||
u'\u1234'
|
u'中文'
|
||||||
"""
|
"""
|
||||||
t = type(obj)
|
t = type(obj)
|
||||||
if t is text_type:
|
if t is text_type:
|
||||||
|
@ -115,7 +116,7 @@ def safestr(obj, encoding='utf-8'):
|
||||||
|
|
||||||
if PY2 and isinstance(obj, unicode):
|
if PY2 and isinstance(obj, unicode):
|
||||||
return obj.encode(encoding)
|
return obj.encode(encoding)
|
||||||
elif is_iter(obj):
|
elif is_iter(obj) or isinstance(obj, iters):
|
||||||
return imap(safestr, obj)
|
return imap(safestr, obj)
|
||||||
else:
|
else:
|
||||||
return str(obj)
|
return str(obj)
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# coding: utf-8
|
||||||
|
from pylib.utils import safestr, safeunicode
|
||||||
|
|
||||||
|
|
||||||
|
def test_safestr():
|
||||||
|
assert safestr('hello') == 'hello'
|
||||||
|
assert safestr(1) == '1'
|
||||||
|
assert list(safestr([1, 'a'])) == ['1', 'a']
|
||||||
|
|
||||||
|
|
||||||
|
def test_safeunicode():
|
||||||
|
assert safeunicode('hello') == u'hello'
|
||||||
|
assert safeunicode(1) == u'1'
|
||||||
|
assert safeunicode('中文') == u'中文'
|
Loading…
Reference in New Issue