128
128
def test_empty_string(self):
129
self._check_error('')
129
self.assertRaises(ValueError, self.bencode.bdecode, '')
131
131
def test_junk(self):
132
132
self._run_check_error(['i6easd', '2:abfdjslhfld',
133
133
'0:0:', 'leanfdldjfh'])
135
135
def test_unknown_object(self):
136
self._check_error('relwjhrlewjh')
136
self.assertRaises(ValueError, self.bencode.bdecode, 'relwjhrlewjh')
138
138
def test_unsupported_type(self):
139
self._check_error(float(1.5))
140
self._check_error(None)
141
self._check_error(lambda x: x)
142
self._check_error(object)
139
self.assertRaises(TypeError, self.bencode.bdecode, float(1.5))
140
self.assertRaises(TypeError, self.bencode.bdecode, None)
141
self.assertRaises(TypeError, self.bencode.bdecode, lambda x: x)
142
self.assertRaises(TypeError, self.bencode.bdecode, object)
143
self.assertRaises(TypeError, self.bencode.bdecode, u"ie")
145
def test_decoder_type_error(self):
146
self.assertRaises(TypeError, self.bencode.bdecode, 1)
145
149
class TestBencodeEncode(tests.TestCase):
202
206
def test_bool(self):
203
207
self._run_check([('i1e', True),
207
class TestBencodeC(tests.TestCase):
211
def test_decoder_repr(self):
212
self.assertEquals("Decoder('123')", repr(self.bencode.Decoder('123')))
214
def test_decoder_type_error(self):
215
self.assertRaises(TypeError, self.bencode.Decoder, 1)
217
def test_encoder_buffer_overflow(self):
218
e = self.bencode.Encoder(256)
220
for i in '1234567890':
223
shouldbe.extend(('124:', s))
224
self.assertEquals(1280, len(str(e)))
225
self.assertEquals(2048, e.maxsize)
226
self.assertEquals(''.join(shouldbe), str(e))
228
def test_encoder_buffer_overflow2(self):
229
e = self.bencode.Encoder(4)
230
e.process('1234567890')
231
self.assertEquals(64, e.maxsize)
232
self.assertEquals('10:1234567890', str(e))