- self.failUnlessRaises(ValueError, bdecode, 'd3:fooe')
- self.failUnlessRaises(ValueError, bdecode, 'di1e0:e')
- self.failUnlessRaises(ValueError, bdecode, 'd1:b0:1:a0:e')
- self.failUnlessRaises(ValueError, bdecode, 'd1:a0:1:a0:e')
- self.failUnlessRaises(ValueError, bdecode, 'd0:0:')
- self.failUnlessRaises(ValueError, bdecode, 'd0:')
+ self.failUnlessRaises(BencodeError, bdecode, 'd3:fooe')
+ self.failUnlessRaises(BencodeError, bdecode, 'di1e0:e')
+ self.failUnlessRaises(BencodeError, bdecode, 'd1:b0:1:a0:e')
+ self.failUnlessRaises(BencodeError, bdecode, 'd1:a0:1:a0:e')
+ self.failUnlessRaises(BencodeError, bdecode, 'd0:0:')
+ self.failUnlessRaises(BencodeError, bdecode, 'd0:')
+
+ def test_bdecode_unicode(self):
+ self.failUnlessRaises(BencodeError, bdecode, 'u0:0:')
+ self.failUnlessRaises(BencodeError, bdecode, 'u')
+ self.failUnlessRaises(BencodeError, bdecode, 'u35208734823ljdahflajhdf')
+ self.failUnlessRaises(BencodeError, bdecode, 'u2:abfdjslhfld')
+ self.failUnlessEqual(bdecode('u0:'), '')
+ self.failUnlessEqual(bdecode('u3:abc'), 'abc')
+ self.failUnlessEqual(bdecode('u10:1234567890'), '1234567890')
+ self.failUnlessRaises(BencodeError, bdecode, 'u02:xy')
+ self.failUnlessRaises(BencodeError, bdecode, 'u9999:x')