def test_charmap_encodeerror(self): def errorhandler(errors, enc, msg, t, startingpos, endingpos): assert t[startingpos:endingpos] == u'\t\n \r' return None, ' ', endingpos s = u'aa\t\n \raa' mapping = {u'a': 'a'} r = runicode.unicode_encode_charmap(s, len(s), None, errorhandler, mapping=mapping) assert r == 'aa aa'
def charmap_encode(space, uni, errors="strict", w_mapping=None): if errors is None: errors = 'strict' if space.is_none(w_mapping): mapping = None else: mapping = Charmap_Encode(space, w_mapping) state = space.fromcache(CodecState) result = runicode.unicode_encode_charmap(uni, len(uni), errors, state.encode_error_handler, mapping) return space.newtuple([space.newbytes(result), space.newint(len(uni))])
def charmap_encode(space, uni, errors="strict", w_mapping=None): if errors is None: errors = 'strict' if space.is_none(w_mapping): mapping = None else: mapping = Charmap_Encode(space, w_mapping) state = space.fromcache(CodecState) result = runicode.unicode_encode_charmap( uni, len(uni), errors, state.encode_error_handler, mapping) return space.newtuple([space.wrap(result), space.wrap(len(uni))])