summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorInada Naoki <songofacandy@gmail.com>2019-12-05 21:34:10 +0900
committerGitHub <noreply@github.com>2019-12-05 21:34:10 +0900
commit7e9905bdfaecde83ddb1a4575e734a10b055fde9 (patch)
tree2b9900fcdf0b5b1986b024edb2802971399b8fb8 /test
parentde320488ae494b85a03b60dd33f91b650033d775 (diff)
downloadmsgpack-python-7e9905bdfaecde83ddb1a4575e734a10b055fde9.tar.gz
Use new msgpack spec by default. (#386)
Diffstat (limited to 'test')
-rw-r--r--test/test_buffer.py4
-rw-r--r--test/test_case.py11
-rw-r--r--test/test_format.py10
-rw-r--r--test/test_memoryview.py39
-rw-r--r--test/test_newspec.py6
-rw-r--r--test/test_read_size.py10
-rw-r--r--test/test_sequnpack.py9
7 files changed, 39 insertions, 50 deletions
diff --git a/test/test_buffer.py b/test/test_buffer.py
index da68b27..62507cf 100644
--- a/test/test_buffer.py
+++ b/test/test_buffer.py
@@ -17,7 +17,7 @@ def test_unpack_buffer():
def test_unpack_bytearray():
- buf = bytearray(packb(("foo", "bar")))
+ buf = bytearray(packb((b"foo", b"bar")))
obj = unpackb(buf, use_list=1)
assert [b"foo", b"bar"] == obj
expected_type = bytes
@@ -25,7 +25,7 @@ def test_unpack_bytearray():
def test_unpack_memoryview():
- buf = bytearray(packb(("foo", "bar")))
+ buf = bytearray(packb((b"foo", b"bar")))
view = memoryview(buf)
obj = unpackb(view, use_list=1)
assert [b"foo", b"bar"] == obj
diff --git a/test/test_case.py b/test/test_case.py
index 3bc1b26..3e60e59 100644
--- a/test/test_case.py
+++ b/test/test_case.py
@@ -1,13 +1,12 @@
#!/usr/bin/env python
# coding: utf-8
-
from msgpack import packb, unpackb
-def check(length, obj):
- v = packb(obj)
+def check(length, obj, use_bin_type=True):
+ v = packb(obj, use_bin_type=use_bin_type)
assert len(v) == length, "%r length should be %r but get %r" % (obj, length, len(v))
- assert unpackb(v, use_list=0) == obj
+ assert unpackb(v, use_list=0, raw=not use_bin_type) == obj
def test_1():
@@ -56,7 +55,7 @@ def test_9():
def check_raw(overhead, num):
- check(num + overhead, b" " * num)
+ check(num + overhead, b" " * num, use_bin_type=False)
def test_fixraw():
@@ -135,4 +134,4 @@ def test_match():
def test_unicode():
- assert unpackb(packb("foobar"), use_list=1) == b"foobar"
+ assert unpackb(packb(u"foobar"), use_list=1) == u"foobar"
diff --git a/test/test_format.py b/test/test_format.py
index c2cdfbd..8c2f03f 100644
--- a/test/test_format.py
+++ b/test/test_format.py
@@ -4,8 +4,8 @@
from msgpack import unpackb
-def check(src, should, use_list=0):
- assert unpackb(src, use_list=use_list) == should
+def check(src, should, use_list=0, raw=True):
+ assert unpackb(src, use_list=use_list, raw=raw) == should
def testSimpleValue():
@@ -59,6 +59,12 @@ def testRaw():
b"\x00\x00\xdb\x00\x00\x00\x01a\xdb\x00\x00\x00\x02ab",
(b"", b"a", b"ab", b"", b"a", b"ab"),
)
+ check(
+ b"\x96\xda\x00\x00\xda\x00\x01a\xda\x00\x02ab\xdb\x00\x00"
+ b"\x00\x00\xdb\x00\x00\x00\x01a\xdb\x00\x00\x00\x02ab",
+ ("", "a", "ab", "", "a", "ab"),
+ raw=False,
+ )
def testArray():
diff --git a/test/test_memoryview.py b/test/test_memoryview.py
index e1b63b8..86b2c1f 100644
--- a/test/test_memoryview.py
+++ b/test/test_memoryview.py
@@ -1,50 +1,33 @@
#!/usr/bin/env python
# coding: utf-8
+import pytest
from array import array
from msgpack import packb, unpackb
import sys
-# For Python < 3:
-# - array type only supports old buffer interface
-# - array.frombytes is not available, must use deprecated array.fromstring
-if sys.version_info[0] < 3:
+pytestmark = pytest.mark.skipif(
+ sys.version_info[0] < 3, reason="Only Python 3 supports buffer protocol"
+)
- def make_memoryview(obj):
- return memoryview(buffer(obj))
- def make_array(f, data):
- a = array(f)
- a.fromstring(data)
- return a
-
- def get_data(a):
- return a.tostring()
-
-
-else:
- make_memoryview = memoryview
-
- def make_array(f, data):
- a = array(f)
- a.frombytes(data)
- return a
-
- def get_data(a):
- return a.tobytes()
+def make_array(f, data):
+ a = array(f)
+ a.frombytes(data)
+ return a
def _runtest(format, nbytes, expected_header, expected_prefix, use_bin_type):
# create a new array
original_array = array(format)
original_array.fromlist([255] * (nbytes // original_array.itemsize))
- original_data = get_data(original_array)
- view = make_memoryview(original_array)
+ original_data = original_array.tobytes()
+ view = memoryview(original_array)
# pack, unpack, and reconstruct array
packed = packb(view, use_bin_type=use_bin_type)
- unpacked = unpackb(packed)
+ unpacked = unpackb(packed, raw=(not use_bin_type))
reconstructed_array = make_array(format, unpacked)
# check that we got the right amount of data
diff --git a/test/test_newspec.py b/test/test_newspec.py
index f4f2a23..b7da486 100644
--- a/test/test_newspec.py
+++ b/test/test_newspec.py
@@ -10,14 +10,16 @@ def test_str8():
assert len(b) == len(data) + 2
assert b[0:2] == header + b"\x20"
assert b[2:] == data
- assert unpackb(b) == data
+ assert unpackb(b, raw=True) == data
+ assert unpackb(b, raw=False) == data.decode()
data = b"x" * 255
b = packb(data.decode(), use_bin_type=True)
assert len(b) == len(data) + 2
assert b[0:2] == header + b"\xff"
assert b[2:] == data
- assert unpackb(b) == data
+ assert unpackb(b, raw=True) == data
+ assert unpackb(b, raw=False) == data.decode()
def test_bin8():
diff --git a/test/test_read_size.py b/test/test_read_size.py
index 8d8df64..33a7e7d 100644
--- a/test/test_read_size.py
+++ b/test/test_read_size.py
@@ -8,9 +8,9 @@ def test_read_array_header():
unpacker = Unpacker()
unpacker.feed(packb(["a", "b", "c"]))
assert unpacker.read_array_header() == 3
- assert unpacker.unpack() == b"a"
- assert unpacker.unpack() == b"b"
- assert unpacker.unpack() == b"c"
+ assert unpacker.unpack() == "a"
+ assert unpacker.unpack() == "b"
+ assert unpacker.unpack() == "c"
try:
unpacker.unpack()
assert 0, "should raise exception"
@@ -22,8 +22,8 @@ def test_read_map_header():
unpacker = Unpacker()
unpacker.feed(packb({"a": "A"}))
assert unpacker.read_map_header() == 1
- assert unpacker.unpack() == b"a"
- assert unpacker.unpack() == b"A"
+ assert unpacker.unpack() == "a"
+ assert unpacker.unpack() == "A"
try:
unpacker.unpack()
assert 0, "should raise exception"
diff --git a/test/test_sequnpack.py b/test/test_sequnpack.py
index e576571..9b69479 100644
--- a/test/test_sequnpack.py
+++ b/test/test_sequnpack.py
@@ -1,6 +1,5 @@
#!/usr/bin/env python
# coding: utf-8
-
import io
from msgpack import Unpacker, BufferFull
from msgpack import pack
@@ -26,7 +25,7 @@ def test_partialdata():
with raises(StopIteration):
next(iter(unpacker))
unpacker.feed(b"o")
- assert next(iter(unpacker)) == b"hallo"
+ assert next(iter(unpacker)) == "hallo"
def test_foobar():
@@ -98,13 +97,13 @@ def test_readbytes():
def test_issue124():
unpacker = Unpacker()
unpacker.feed(b"\xa1?\xa1!")
- assert tuple(unpacker) == (b"?", b"!")
+ assert tuple(unpacker) == ("?", "!")
assert tuple(unpacker) == ()
unpacker.feed(b"\xa1?\xa1")
- assert tuple(unpacker) == (b"?",)
+ assert tuple(unpacker) == ("?",)
assert tuple(unpacker) == ()
unpacker.feed(b"!")
- assert tuple(unpacker) == (b"!",)
+ assert tuple(unpacker) == ("!",)
assert tuple(unpacker) == ()