diff --git a/pydecoder/xmldecode.py b/pydecoder/xmldecode.py index a6a0e14d..667156d0 100644 --- a/pydecoder/xmldecode.py +++ b/pydecoder/xmldecode.py @@ -4,7 +4,7 @@ from collections import Iterator from six import wraps, u, string_types, text_type -from six.moves import map +from six.moves import map, reduce from toolz import curry, first @@ -87,7 +87,7 @@ def to_int(val): try: return ok(int(val)) except (TypeError, ValueError) as err: - return error(unicode(err)) + return error(text_type(err)) @to_val @@ -96,7 +96,7 @@ def to_float(val): try: return ok(float(val)) except (TypeError, ValueError) as err: - return error(unicode(err)) + return error(text_type(err)) @to_val @@ -105,7 +105,7 @@ def to_string(val): if val is None: return error(u'Can\'t be null') - return ok(val) if isinstance(val, text_type) else ok(unicode(val, 'utf-8')) + return ok(val) if isinstance(val, text_type) else ok(text_type(val, 'utf-8')) @to_val diff --git a/tests/test_decoders.py b/tests/test_decoders.py index ed48cdf4..aba57d79 100644 --- a/tests/test_decoders.py +++ b/tests/test_decoders.py @@ -62,7 +62,7 @@ def ftest(val): rv = ftest(i) assert is_error(rv) - assert rv.message == 'Value is empty.' + assert rv.value == 'Value is empty.' def test_to_string_return_decoded_result(): diff --git a/tests/test_xml_decoder.py b/tests/test_xml_decoder.py index 7c9db015..ecc565d4 100644 --- a/tests/test_xml_decoder.py +++ b/tests/test_xml_decoder.py @@ -10,8 +10,8 @@ from pyresult import is_ok, is_error, value -def creator(*args): - return args +def creator(values): + return values @pytest.fixture @@ -42,7 +42,7 @@ def test_xml_return_ok_result(tree): ) assert is_ok(rv) - assert value(rv) == ('foo', ) + assert value(rv) == ['foo', ] def test_xml_return_error_result(tree): @@ -68,6 +68,5 @@ def test_xml_return_error_result_with_aggregate_messages(tree): ) assert is_error(rv) - messages = rv.message.split('\n') - for msg in messages: + for msg in rv.value: assert msg.find(u'Value is empty.') > -1