mirror of
https://github.com/msgpack/msgpack-python.git
synced 2026-02-06 17:59:52 +00:00
Merge pull request #84 from wbolster/exception-type-cleanups
Always raise TypeError for wrong argument types
This commit is contained in:
commit
f322ed4e1b
3 changed files with 10 additions and 10 deletions
|
|
@ -52,7 +52,7 @@ cdef inline init_ctx(unpack_context *ctx,
|
|||
ctx.user.object_hook = ctx.user.list_hook = <PyObject*>NULL
|
||||
|
||||
if object_hook is not None and object_pairs_hook is not None:
|
||||
raise ValueError("object_pairs_hook and object_hook are mutually exclusive.")
|
||||
raise TypeError("object_pairs_hook and object_hook are mutually exclusive.")
|
||||
|
||||
if object_hook is not None:
|
||||
if not PyCallable_Check(object_hook):
|
||||
|
|
@ -228,7 +228,7 @@ cdef class Unpacker(object):
|
|||
if file_like:
|
||||
self.file_like_read = file_like.read
|
||||
if not PyCallable_Check(self.file_like_read):
|
||||
raise ValueError("`file_like.read` must be a callable.")
|
||||
raise TypeError("`file_like.read` must be a callable.")
|
||||
if not max_buffer_size:
|
||||
max_buffer_size = INT_MAX
|
||||
if read_size > max_buffer_size:
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ class Unpacker(object):
|
|||
self._fb_feeding = True
|
||||
else:
|
||||
if not callable(file_like.read):
|
||||
raise ValueError("`file_like.read` must be callable")
|
||||
raise TypeError("`file_like.read` must be callable")
|
||||
self.file_like = file_like
|
||||
self._fb_feeding = False
|
||||
self._fb_buffers = []
|
||||
|
|
@ -179,16 +179,16 @@ class Unpacker(object):
|
|||
self._ext_hook = ext_hook
|
||||
|
||||
if list_hook is not None and not callable(list_hook):
|
||||
raise ValueError('`list_hook` is not callable')
|
||||
raise TypeError('`list_hook` is not callable')
|
||||
if object_hook is not None and not callable(object_hook):
|
||||
raise ValueError('`object_hook` is not callable')
|
||||
raise TypeError('`object_hook` is not callable')
|
||||
if object_pairs_hook is not None and not callable(object_pairs_hook):
|
||||
raise ValueError('`object_pairs_hook` is not callable')
|
||||
raise TypeError('`object_pairs_hook` is not callable')
|
||||
if object_hook is not None and object_pairs_hook is not None:
|
||||
raise ValueError("object_pairs_hook and object_hook are mutually "
|
||||
"exclusive")
|
||||
raise TypeError("object_pairs_hook and object_hook are mutually "
|
||||
"exclusive")
|
||||
if not callable(ext_hook):
|
||||
raise ValueError("`ext_hook` is not callable")
|
||||
raise TypeError("`ext_hook` is not callable")
|
||||
|
||||
def feed(self, next_bytes):
|
||||
if isinstance(next_bytes, array.array):
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ def test_decode_pairs_hook():
|
|||
assert unpacked[1] == prod_sum
|
||||
|
||||
def test_only_one_obj_hook():
|
||||
with raises(ValueError):
|
||||
with raises(TypeError):
|
||||
unpackb(b'', object_hook=lambda x: x, object_pairs_hook=lambda x: x)
|
||||
|
||||
def test_bad_hook():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue