コード例 #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)
コード例 #2
0
 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)
コード例 #9
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)