Example #1
0
 def test_parse_escaped_byte_string(self):
     decoder = Decoder(b'ab3:\x01\x01\x01f')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     print(b)
     self.assertIsInstance(b, bytes, msg='Bencode string returned wrong type.')
     self.assertEqual(b, b'\x01\x01\x01', msg='Failed to decode bencode escaped byte string.')
Example #2
0
 def test__read_to(self):
     decoder = Decoder(b'abc:def')
     decoder.idx = 0
     b = decoder._Decoder__read_to(b':')
     self.assertEqual(b,
                      b'abc',
                      msg='__read_to(b) failed to copy the correct bytes.')
Example #3
0
 def test__read(self):
     decoder = Decoder(b'abcdefg')
     decoder.idx = 1
     b = decoder._Decoder__read(3)
     self.assertEqual(b,
                      b'bcd',
                      msg='__read(i) failed to copy the correct bytes.')
Example #4
0
 def test_parse_a_integer(self):
     decoder = Decoder(b'abi42eefhijklmnop')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b,
                           int,
                           msg='Bencode integer returned wrong type.')
     self.assertEqual(b, 42, msg='Failed to decode bencode integer.')
Example #5
0
 def test_parse_a_string(self):
     decoder = Decoder(b'ab3:cdefhijklmnop')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b,
                           bytes,
                           msg='Bencode string returned wrong type.')
     self.assertEqual(b, b'cde', msg='Failed to decode bencode string.')
Example #6
0
 def test_parse_a_dictionary(self):
     decoder = Decoder(b'abd1:A1:Beghijklmn')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b,
                           dict,
                           msg='Bencode dictionary returned wrong type.')
     self.assertEqual(b, {b'A': b'B'},
                      msg='Failed to decode bencode dictionary.')
Example #7
0
 def test_parse_escaped_byte_string(self):
     decoder = Decoder(b'ab3:\x01\x01\x01f')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     print(b)
     self.assertIsInstance(b,
                           bytes,
                           msg='Bencode string returned wrong type.')
     self.assertEqual(b,
                      b'\x01\x01\x01',
                      msg='Failed to decode bencode escaped byte string.')
Example #8
0
 def test_parse_a_string(self):
     decoder = Decoder(b'ab3:cdefhijklmnop')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b, bytes, msg='Bencode string returned wrong type.')
     self.assertEqual(b, b'cde', msg='Failed to decode bencode string.')
Example #9
0
 def test__read_to_exception(self):
     decoder = Decoder(b'a:bcdef')
     decoder.idx = 3
     with self.assertRaises(DecodingError):
         decoder._Decoder__read_to(b':')
Example #10
0
 def test__read_to(self):
     decoder = Decoder(b'abc:def')
     decoder.idx = 0
     b = decoder._Decoder__read_to(b':')
     self.assertEqual(b, b'abc', msg='__read_to(b) failed to copy the correct bytes.')
Example #11
0
 def test__parse_invalid_character_exception(self):
     decoder = Decoder(b'abc')
     decoder.idx = 0
     with self.assertRaises(DecodingError):
         decoder._Decoder__parse()
Example #12
0
 def test_parse_a_list(self):
     decoder = Decoder(b'abl1:A1:Becdefghijklmn')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b, list, msg='Bencode list returned wrong type.')
     self.assertEqual(b, [b'A', b'B'], msg='Failed to decode bencode list.')
Example #13
0
 def test_parse_a_list(self):
     decoder = Decoder(b'abl1:A1:Becdefghijklmn')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b, list, msg='Bencode list returned wrong type.')
     self.assertEqual(b, [b'A', b'B'], msg='Failed to decode bencode list.')
Example #14
0
 def test__read_to_exception(self):
     decoder = Decoder(b'a:bcdef')
     decoder.idx = 3
     with self.assertRaises(DecodingError):
         decoder._Decoder__read_to(b':')
Example #15
0
 def test_parse_a_integer(self):
     decoder = Decoder(b'abi42eefhijklmnop')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b, int, msg='Bencode integer returned wrong type.')
     self.assertEqual(b, 42, msg='Failed to decode bencode integer.')
Example #16
0
 def test__parse_eof_exception(self):
     decoder = Decoder(b'abc')
     decoder.idx = 3
     with self.assertRaises(DecodingError):
         decoder._Decoder__parse()
Example #17
0
 def test_parse_a_dictionary(self):
     decoder = Decoder(b'abd1:A1:Beghijklmn')
     decoder.idx = 2
     b = decoder._Decoder__parse()
     self.assertIsInstance(b, dict, msg='Bencode dictionary returned wrong type.')
     self.assertEqual(b, {b'A': b'B'}, msg='Failed to decode bencode dictionary.')
Example #18
0
 def test__parse_invalid_character_exception(self):
     decoder = Decoder(b'abc')
     decoder.idx = 0
     with self.assertRaises(DecodingError):
         decoder._Decoder__parse()
Example #19
0
 def test__parse_eof_exception(self):
     decoder = Decoder(b'abc')
     decoder.idx = 3
     with self.assertRaises(DecodingError):
         decoder._Decoder__parse()
Example #20
0
 def test__read_exception(self):
     decoder = Decoder(b'abcdefg')
     decoder.idx = 1
     with self.assertRaises(DecodingError):
         decoder._Decoder__read(10)
Example #21
0
 def test__read(self):
     decoder = Decoder(b'abcdefg')
     decoder.idx = 1
     b = decoder._Decoder__read(3)
     self.assertEqual(b, b'bcd', msg='__read(i) failed to copy the correct bytes.')
Example #22
0
 def test__read_exception(self):
     decoder = Decoder(b'abcdefg')
     decoder.idx = 1
     with self.assertRaises(DecodingError):
         decoder._Decoder__read(10)