示例#1
0
 def test_decode_bool(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(True)) == True == q_loads(
             rencode.dumps(True)))
     self.assertTrue(
         rencode.loads(rencode.dumps(False)) == False == q_loads(
             rencode.dumps(False)))
示例#2
0
 def test_decode_char(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(100)) == 100 == q_loads(
             rencode.dumps(100)))
     self.assertTrue(
         rencode.loads(rencode.dumps(-100)) == -100 == q_loads(
             rencode.dumps(-100)))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([62])))
     self.assertTrue(0 == q_loads(bytes(bytearray([62]))))
示例#3
0
 def test_decode_int(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(7483648)) == 7483648 == q_loads(
             rencode.dumps(7483648)))
     self.assertTrue(
         rencode.loads(rencode.dumps(-7483648)) == -7483648 == q_loads(
             rencode.dumps(-7483648)))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([64])))
     self.assertTrue(0 == q_loads(bytes(bytearray([64]))))
示例#4
0
 def test_decode_short(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(27123)) == 27123 == q_loads(
             rencode.dumps(27123)))
     self.assertTrue(
         rencode.loads(rencode.dumps(-27123)) == -27123 == q_loads(
             rencode.dumps(-27123)))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([63])))
     self.assertTrue(0 == q_loads(bytes(bytearray([63]))))
示例#5
0
 def test_decode_long_long(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(8223372036854775808)) ==
         8223372036854775808 == q_loads(rencode.dumps(8223372036854775808)))
     self.assertTrue(
         rencode.loads(rencode.dumps(-8223372036854775808))
         == -8223372036854775808 == q_loads(
             rencode.dumps(-8223372036854775808)))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([65])))
     self.assertTrue(0 == q_loads(bytes(bytearray([65]))))
示例#6
0
 def test_decode_list(self):
     l = [100, False, b"foobar", u("bäz").encode("utf8")] * 80
     self.assertTrue(
         list(rencode.loads(rencode.dumps(l))) == list(l) == q_loads(
             rencode.dumps(l)))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([59])))
     self.assertTrue(0 == q_loads(bytes(bytearray([59]))))
示例#7
0
 def test_decode_dict(self):
     s = b"abcdefghijklmnopqrstuvwxyz1234567890"
     d = dict(zip(s, [b"foo" * 120] * len(s)))
     d2 = {b"foo": d, b"bar": d, b"baz": d}
     self.assertTrue(rencode.loads(rencode.dumps(d2)) == d2)
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([60])))
     self.assertTrue(0 == q_loads(bytes(bytearray([60]))))
示例#8
0
 def test_decode_int_big_number(self):
     n = int(b"9" * 62)
     toobig = '={x}\x7f'.format(x='9' * 65).encode()
     self.assertTrue(rencode.loads(rencode.dumps(n)) == n)
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([61])))
     self.assertRaises(ValueError, rencode.loads, toobig)
     self.assertTrue(0 == q_loads(bytes(bytearray([61]))))
     self.assertTrue(0 == q_loads(toobig))
示例#9
0
 def test_decode_utf8(self):
     s = b"foobarbaz"
     #no assertIsInstance with python2.6
     d = rencode.loads(rencode.dumps(s), decode_utf8=True)
     if not isinstance(d, unicode):
         self.fail('%s is not an instance of %r' % (repr(d), unicode))
     s = rencode.dumps(b"\x56\xe4foo\xc3")
     self.assertRaises(UnicodeDecodeError, rencode.loads, s, decode_utf8=True)
示例#10
0
 def test_decode_utf8(self):
     s = b"foobarbaz"
     #no assertIsInstance with python2.6
     d = rencode.loads(rencode.dumps(s), decode_utf8=True)
     if not isinstance(d, unicode):
         self.fail('%s is not an instance of %r' % (repr(d), unicode))
     s = rencode.dumps(b"\x56\xe4foo\xc3")
     self.assertRaises(UnicodeDecodeError,
                       rencode.loads,
                       s,
                       decode_utf8=True)
示例#11
0
 def test_decode_str_nullbytes(self):
     b = (202, 132, 100, 114, 97, 119, 1, 0, 0, 63, 1, 242, 63, 1, 60, 132,
          120, 50, 54, 52, 49, 51, 48, 58, 0, 0, 0, 1, 65, 154, 35, 215, 48,
          204, 4, 35, 242, 3, 122, 218, 67, 192, 127, 40, 241, 127, 2, 86,
          240, 63, 135, 177, 23, 119, 63, 31, 226, 248, 19, 13, 192, 111,
          74, 126, 2, 15, 240, 31, 239, 48, 85, 238, 159, 155, 197, 241, 23,
          119, 63, 2, 23, 245, 63, 24, 240, 86, 36, 176, 15, 187, 185, 248,
          242, 255, 0, 126, 123, 141, 206, 60, 188, 1, 27, 254, 141, 169,
          132, 93, 220, 252, 121, 184, 8, 31, 224, 63, 244, 226, 75, 224,
          119, 135, 229, 248, 3, 243, 248, 220, 227, 203, 193, 3, 224, 127,
          47, 134, 59, 5, 99, 249, 254, 35, 196, 127, 17, 252, 71, 136, 254,
          35, 196, 112, 4, 177, 3, 63, 5, 220)
     d = bytes(bytearray(b))
     self.assertEqual(rencode.loads(rencode.dumps(d)), d)
示例#12
0
def test_decode_fixed_dict():
    rencode.loads(b'q\x81aE\x81cE\x81bE\x81eE\x81dE\x81gE\x81fE\x81iE\x81hE\x81kE\x81jE')
示例#13
0
def test_decode_fixed_list():
    rencode.loads(b'\xc4EEEE')
示例#14
0
def test_decode_none():
    rencode.loads(b'E')
示例#15
0
 def test_decode_bool(self):
     self.assertEqual(rencode.loads(rencode.dumps(True)), True)
     self.assertEqual(rencode.loads(rencode.dumps(False)), False)
示例#16
0
 def test_decode_short(self):
     self.assertEqual(rencode.loads(rencode.dumps(27123)), 27123)
     self.assertEqual(rencode.loads(rencode.dumps(-27123)), -27123)
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([63])))
示例#17
0
 def test_decode_fixed_str(self):
     self.assertEqual(rencode.loads(rencode.dumps(b"foobarbaz")),
                      b"foobarbaz")
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([130])))
示例#18
0
 def test_decode_fixed_str(self):
     self.assertEqual(rencode.loads(rencode.dumps("foobarbaz")), "foobarbaz")
示例#19
0
 def test_decode_str(self):
     self.assertEqual(rencode.loads(rencode.dumps("f"*255)), "f"*255)
示例#20
0
 def test_decode_int_big_number(self):
     n = int("9"*62)
     self.assertEqual(rencode.loads(rencode.dumps(n)), n)
示例#21
0
 def test_decode_float_64bit(self):
     f = rencode.dumps(1234.56, 64)
     self.assertEqual(rencode.loads(f), rencode_orig.loads(f))
示例#22
0
 def test_decode_long_long(self):
     self.assertEqual(rencode.loads(rencode.dumps(8223372036854775808)), 8223372036854775808)
     self.assertEqual(rencode.loads(rencode.dumps(-8223372036854775808)), -8223372036854775808)
示例#23
0
 def test_decode_fixed_str(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(b"foobarbaz")) == b"foobarbaz" ==
         q_loads(rencode.dumps(b"foobarbaz")))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([130])))
     self.assertTrue(0 == q_loads(bytes(bytearray([130]))))
示例#24
0
 def test_decode_str(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(b"f" * 255)) == b"f" *
         255 == q_loads(rencode.dumps(b"f" * 255)))
     self.assertRaises(IndexError, rencode.loads, b"50")
     self.assertTrue(0 == q_loads(b"50"))
示例#25
0
def test_overall_decode():
    rencode.loads(overall_decode_str)
示例#26
0
 def test_decode_unicode(self):
     self.assertEqual(rencode.loads(rencode.dumps(u"fööbar")), u"fööbar")
示例#27
0
 def test_decode_fixed_neg_int(self):
     self.assertEqual(rencode.loads(rencode.dumps(-10)), -10)
示例#28
0
 def test_decode_none(self):
     self.assertEqual(rencode.loads(rencode.dumps(None)), None)
示例#29
0
 def test_decode_long_long(self):
     self.assertEqual(rencode.loads(rencode.dumps(8223372036854775808)),
                      8223372036854775808)
     self.assertEqual(rencode.loads(rencode.dumps(-8223372036854775808)),
                      -8223372036854775808)
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([65])))
示例#30
0
 def test_decode_bool(self):
     self.assertEqual(rencode.loads(rencode.dumps(True)), True)
     self.assertEqual(rencode.loads(rencode.dumps(False)), False)
示例#31
0
 def test_decode_unicode(self):
     self.assertEqual(rencode.loads(rencode.dumps(u("fööbar"))),
                      u("fööbar").encode("utf8"))
示例#32
0
 def test_decode_list(self):
     l = [100, False, "foobar", u"bäz"]*80
     self.assertEqual(rencode.loads(rencode.dumps(l)), tuple(l))
示例#33
0
 def test_decode_fixed_dict(self):
     s = b"abcdefghijk"
     d = dict(zip(s, [1234] * len(s)))
     self.assertEqual(rencode.loads(rencode.dumps(d)), d)
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([104])))
示例#34
0
 def test_decode_fixed_dict(self):
     s = "abcdefghijk"
     d = dict(zip(s, [1234]*len(s)))
     self.assertEqual(rencode.loads(rencode.dumps(d)), d)
示例#35
0
 def test_decode_unicode(self):
     self.assertTrue(
         rencode.loads(rencode.dumps(u("fööbar"))) == u("fööbar").encode(
             "utf8") == q_loads(rencode.dumps(u("fööbar"))))
示例#36
0
 def test_decode_dict(self):
     s = "abcdefghijklmnopqrstuvwxyz1234567890"
     d = dict(zip(s, ["foo"*120]*len(s)))
     d2 = {"foo": d, "bar": d, "baz": d}
     self.assertEqual(rencode.loads(rencode.dumps(d2)), d2)
示例#37
0
def test_decode_bool():
    rencode.loads(b'C')
示例#38
0
def test_decode_fixed_pos_int():
    rencode.loads(b'(')
示例#39
0
def test_decode_list():
    rencode.loads(b';EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\x7f')
示例#40
0
def test_decode_fixed_neg_int():
    rencode.loads(b'b')
示例#41
0
def test_decode_dict():
    rencode.loads(b'<\x811E\x810E\x813E\x812E\x815E\x814E\x817E\x816E\x819E\x818E\x81aE\x81cE\x81bE\x81eE\x81dE\x81gE\x81fE\x81iE\x81hE\x81kE\x81jE\x81mE\x81lE\x81oE\x81nE\x81qE\x81pE\x81sE\x81rE\x81uE\x81tE\x81wE\x81vE\x81yE\x81xE\x81zE\x7f')
示例#42
0
def test_decode_int_char_size():
    rencode.loads(b'>d')
    rencode.loads(b'>\x9c')
示例#43
0
 def test_decode_fixed_pos_int(self):
     self.assertEqual(rencode.loads(rencode.dumps(10)), 10)
示例#44
0
def test_decode_int_short_size():
    rencode.loads(b'?i\xf3')
    rencode.loads(b'?\x96\r')
示例#45
0
 def test_decode_char(self):
     self.assertEqual(rencode.loads(rencode.dumps(100)), 100)
     self.assertEqual(rencode.loads(rencode.dumps(-100)), -100)
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([62])))
示例#46
0
def test_decode_int_int_size():
    rencode.loads(b'@\x00r1\x00')
    rencode.loads(b'@\xff\x8d\xcf\x00')
示例#47
0
 def test_decode_int(self):
     self.assertEqual(rencode.loads(rencode.dumps(7483648)), 7483648)
     self.assertEqual(rencode.loads(rencode.dumps(-7483648)), -7483648)
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([64])))
示例#48
0
 def test_decode_float_32bit(self):
     f = rencode.dumps(1234.56)
     self.assertTrue(
         rencode.loads(f) == rencode_orig.loads(f) == q_loads(f))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([66])))
     self.assertTrue(0 == q_loads(bytes(bytearray([66]))))
示例#49
0
 def test_decode_float_64bit(self):
     f = rencode.dumps(1234.56, 64)
     self.assertEqual(rencode.loads(f), rencode_orig.loads(f))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([44])))
示例#50
0
def test_decode_int_big_number():
    rencode.loads(b'=99999999999999999999999999999999999999999999999999999999999999\x7f')
示例#51
0
 def test_decode_str(self):
     self.assertEqual(rencode.loads(rencode.dumps(b"f" * 255)), b"f" * 255)
     self.assertRaises(IndexError, rencode.loads, b"50")
示例#52
0
def test_decode_float_32bit():
    rencode.loads(b'BD\x9aQ\xec')
示例#53
0
 def test_decode_none(self):
     self.assertEqual(rencode.loads(rencode.dumps(None)), None)
示例#54
0
def test_decode_float_64bit():
    rencode.loads(b',@\x93J=p\xa3\xd7\n')
示例#55
0
 def test_decode_fixed_list(self):
     l = [100, False, b"foobar", u("bäz").encode("utf8")] * 4
     self.assertEqual(rencode.loads(rencode.dumps(l)), tuple(l))
     self.assertRaises(IndexError, rencode.loads, bytes(bytearray([194])))
示例#56
0
def test_decode_fixed_str():
    rencode.loads(b'\x89foobarbaz')
示例#57
0
 def test_decode_str_bytes(self):
     b = [202, 132, 100, 114, 97, 119, 1, 0, 0, 63, 1, 242, 63]
     d = bytes(bytearray(b))
     self.assertEqual(rencode.loads(rencode.dumps(d)), d)
示例#58
0
def test_decode_str():
    rencode.loads(b'255:fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff')
示例#59
0
def test_decode_int_long_long_size():
    rencode.loads(b'Ar\x1fILX\x9c\x00\x00')
    rencode.loads(b'A\x8d\xe0\xb6\xb3\xa7d\x00\x00')
示例#60
0
 def test_decode_none(self):
     self.assertIsNone(rencode.loads(rencode.dumps(None)))
     self.assertIsNone(q_loads(rencode.dumps(None)))