示例#1
0
 def test_link_base(self):
     a = [1, 2, 3]
     result = loads(b"\x04\b[\b[\bi\x06i\ai\b@\x06@\x06")
     self.assertEqual(result, [a, a, a])
     result[0][2] = 4
     self.assertEqual(result[1][2], 4)
     self.assertEqual(result[2][2], 4)
 def test_65536(self):
     self.assertEqual(loads(b"\x04\bi\x03\x00\x00\x01"), 65536)
示例#3
0
 def test_0(self):
     self.assertEqual(loads(b'\x04\bI\"\x00\x06:\x06ET'), '')
示例#4
0
 def test__65537(self):
     self.assertEqual(loads(b'\x04\bi\xFD\xFF\xFF\xFE'), -65537)
示例#5
0
 def test__256(self):
     self.assertEqual(loads(b'\x04\bi\xFF\x00'), -256)
     self.assertEqual(loads(b'\x04\bi\xFE\x00\xFF'), -256)
示例#6
0
 def test_65537000(self):
     self.assertEqual(loads(b"\x04\bi\x04\xE8\x03\xE8\x03"), 65537000)
示例#7
0
 def test_255(self):
     self.assertEqual(loads(b'\x04\bi\x01\xFF'), 255)
示例#8
0
 def test_0(self):
     self.assertEqual(loads(b'\x04\bi\x00'), 0)
 def test__65536(self):
     self.assertEqual(loads(b"\x04\bi\xFE\x00\x00"), -65536)
示例#10
0
 def test__259(self):
     self.assertEqual(loads(b"\x04\bi\xFE\xFD\xFE"), -259)
示例#11
0
 def test__256(self):
     self.assertEqual(loads(b"\x04\bi\xFF\x00"), -256)
     self.assertEqual(loads(b"\x04\bi\xFE\x00\xFF"), -256)
示例#12
0
 def test__124(self):
     self.assertEqual(loads(b"\x04\bi\xFF\x84"), -124)
示例#13
0
 def test__123(self):
     self.assertEqual(loads(b"\x04\bi\x80"), -123)
示例#14
0
 def test__1(self):
     self.assertEqual(loads(b"\x04\bi\xFA"), -1)
示例#15
0
 def test_65537000(self):
     self.assertEqual(loads(b"\x04\bi\x04\xE8\x03\xE8\x03"), 65537000)
示例#16
0
 def test_symlink(self):
     a = Symbol('test_symbol')
     self.assertEqual(loads(b"\x04\b[\a:\x10test_symbol;\x00"), [a, a])
示例#17
0
 def test_link_usr(self):
     a = UsrMarshal('Gem::Version', ['0.1.2'])
     result = loads(b"\x04\b[\aU:\x11Gem::Version[\x06I\"\n0.1.2\x06:\x06ET@\x06")
     self.assertEqual(result, [a, a])
示例#18
0
 def test__65537(self):
     self.assertEqual(loads(b"\x04\bi\xFD\xFF\xFF\xFE"), -65537)
示例#19
0
 def test_122(self):
     self.assertEqual(loads(b'\x04\bi\x7F'), 122)
示例#20
0
 def test__65537000(self):
     self.assertEqual(loads(b"\x04\bi\xFC\x18\xFC\x17\xFC"), -65537000)
示例#21
0
 def test_65535(self):
     self.assertEqual(loads(b'\x04\bi\x02\xFF\xFF'), 65535)
示例#22
0
 def test_long(self):
     self.assertEqual(loads(b'\x04\bl+\t\x15\x81\xE9}\xF4\x10"\x11'),
                      1234567890123456789)
示例#23
0
 def test__123(self):
     self.assertEqual(loads(b'\x04\bi\x80'), -123)
示例#24
0
 def test_0(self):
     self.assertEqual(loads(b'\x04\bI"\x00\x06:\x06ET'), "")
示例#25
0
 def test__259(self):
     self.assertEqual(loads(b"\x04\bi\xFE\xFD\xFE"), -259)
示例#26
0
 def test_1(self):
     self.assertEqual(loads(b'\x04\bI"\x06a\x06:\x06ET'), "a")
示例#27
0
 def test_long(self):
     self.assertEqual(loads(b"\x04\bl+\t\x15\x81\xE9}\xF4\x10\"\x11"), 1234567890123456789)
示例#28
0
 def test_5(self):
     self.assertEqual(loads(b'\x04\bI"\nabcde\x06:\x06ET'), "abcde")
示例#29
0
 def test_5(self):
     self.assertEqual(loads(b'\x04\bI\"\nabcde\x06:\x06ET'), 'abcde')
示例#30
0
 def test_utf16(self):
     self.assertEqual(
         loads(
             b'\x04\bI"\r\xFE\xFF\x00a\x00b\x00c\x06:\rencoding"\vUTF-16'),
         "abc")
示例#31
0
 def test_symbol(self):
     self.assertEqual(loads(b"\x04\b:\x10test_symbol"), Symbol('test_symbol'))
示例#32
0
 def test_nil(self):
     self.assertEqual(loads(b"\x04\b0"), None)
示例#33
0
 def test_true(self):
     self.assertEqual(loads(b"\x04\bT"), True)
示例#34
0
 def test_false(self):
     self.assertEqual(loads(b"\x04\bF"), False)
示例#35
0
 def test_link_usr_base(self):
     a = [1, 2, 3]
     b = UsrMarshal('Gem::Version', ['0.1.2'])
     result = loads(b"\x04\b[\b[\a[\bi\x06i\ai\b@\a[\aU:\x11Gem::Version[\x06I\"\n0.1.2\x06:\x06ET@\t[\a@\a@\a")
     self.assertEqual(result, [[a, a], [b, b], [a, a]])
示例#36
0
 def test_num_3(self):
     self.assertEqual(loads(b"\x04\b[\bi\x06i\ai\b"), [1, 2, 3])
示例#37
0
 def test_1(self):
     self.assertEqual(loads(b'\x04\bi\x06'), 1)
示例#38
0
 def test_recursive(self):
     self.assertEqual(
         loads(b'\x04\b[\ni\x06i\ai\b[\bI"\ttest\x06:\x06ETF0[\x06i/'),
         [1, 2, 3, ["test", False, None], [42]],
     )
示例#39
0
 def test_123(self):
     self.assertEqual(loads(b'\x04\bi\x01{'), 123)
示例#40
0
 def test_num_2(self):
     self.assertEqual(loads(b"\x04\b{\ai\x06i\ai\bi\t"), {1: 2, 3: 4})
示例#41
0
 def test_256(self):
     self.assertEqual(loads(b'\x04\bi\x02\x00\x01'), 256)
示例#42
0
 def test_num_0(self):
     self.assertEqual(loads(b"\x04\bf\x060"), 0.0)
示例#43
0
 def test_65536(self):
     self.assertEqual(loads(b'\x04\bi\x03\x00\x00\x01'), 65536)
示例#44
0
 def test_num_1(self):
     self.assertEqual(loads(b"\x04\bf\x061"), 1.0)
示例#45
0
 def test__1(self):
     self.assertEqual(loads(b'\x04\bi\xFA'), -1)
示例#46
0
 def test_num_1_2(self):
     self.assertEqual(loads(b"\x04\bf\b1.2"), 1.2)
示例#47
0
 def test__124(self):
     self.assertEqual(loads(b'\x04\bi\xFF\x84'), -124)
示例#48
0
 def test_num__1(self):
     self.assertEqual(loads(b"\x04\bf\a-1"), -1.0)
示例#49
0
 def test__257(self):
     self.assertEqual(loads(b'\x04\bi\xFE\xFF\xFE'), -257)
示例#50
0
 def test_num_1234567890_123456789(self):
     self.assertEqual(loads(b"\x04\bf\x171234567890.1234567"),
                      1234567890.1234567)
示例#51
0
 def test__65536(self):
     self.assertEqual(loads(b'\x04\bi\xFE\x00\x00'), -65536)
示例#52
0
 def test_num_nan(self):
     self.assertTrue(math.isnan(loads(b"\x04\bf\bnan")))
示例#53
0
 def test__65537000(self):
     self.assertEqual(loads(b"\x04\bi\xFC\x18\xFC\x17\xFC"), -65537000)
示例#54
0
 def test_num__inf(self):
     self.assertEqual(loads(b"\x04\bf\t-inf"), float("-inf"))
示例#55
0
 def test_longlong(self):
     self.assertEqual(loads(b"\x04\bl+\x16\xD0\xE8\xDD\x86T\x9D$\b&\xF83E\xE3\xD2\xFD\xB9\"\x12\r\x85\"\v\x92\x06\xEF\x7F}/\xB7_\xB7\xEF\xA5)"),
                      1234567890123456789012343294802948320948209482309842309483209482309482309482309840)
示例#56
0
 def test_noflag(self):
     self.assertEqual(loads(b"\x04\bI/\att\x00\x06:\x06EF"),
                      re.compile("tt"))
示例#57
0
 def test_1(self):
     self.assertEqual(loads(b'\x04\bI\"\x06a\x06:\x06ET'), 'a')
示例#58
0
 def test_usr(self):
     a = UsrMarshal('Gem::Version', ['0.1.2'])
     self.assertEqual(loads(b"\x04\bU:\x11Gem::Version[\x06I\"\n0.1.2\x06:\x06ET"), a)
示例#59
0
 def test_utf32(self):
     self.assertEqual(loads(b"\x04\bI\"\x15\x00\x00\xFE\xFF\x00\x00\x00a\x00\x00\x00b\x00\x00\x00c\x06:\rencoding\"\vUTF-32"),  "abc")
     self.assertEqual(loads(b"\x04\bI\"\r\x00\x00\xFE\xFF\x00\x00'\x13\x06:\rencoding\"\vUTF-32"), '✓')
示例#60
0
 def test_65535(self):
     self.assertEqual(loads(b"\x04\bi\x02\xFF\xFF"), 65535)