py/objarray: Add decode method to bytearray.
Reuse the implementation for bytes since it works the same way regardless of the underlying type. This method gets added for CPython compatibility of bytearray, but to keep the code simple and small array.array now also has a working decode method, which is non-standard but doesn't hurt.
This commit is contained in:
parent
c769da1aaa
commit
fb54736bdb
@ -530,6 +530,9 @@ STATIC mp_int_t array_get_buffer(mp_obj_t o_in, mp_buffer_info_t *bufinfo, mp_ui
|
||||
STATIC const mp_rom_map_elem_t array_locals_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_append), MP_ROM_PTR(&array_append_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_extend), MP_ROM_PTR(&array_extend_obj) },
|
||||
#if MICROPY_CPYTHON_COMPAT
|
||||
{ MP_ROM_QSTR(MP_QSTR_decode), MP_ROM_PTR(&bytes_decode_obj) },
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(array_locals_dict, array_locals_dict_table);
|
||||
|
@ -102,5 +102,6 @@ MP_DECLARE_CONST_FUN_OBJ_1(str_isalpha_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(str_isdigit_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(str_isupper_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(str_islower_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(bytes_decode_obj);
|
||||
|
||||
#endif // MICROPY_INCLUDED_PY_OBJSTR_H
|
||||
|
6
tests/basics/bytearray_decode.py
Normal file
6
tests/basics/bytearray_decode.py
Normal file
@ -0,0 +1,6 @@
|
||||
try:
|
||||
print(bytearray(b'').decode())
|
||||
print(bytearray(b'abc').decode())
|
||||
except AttributeError:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
Loading…
Reference in New Issue
Block a user