py/objlist: Make list += accept all arguments and add test.
This commit is contained in:
parent
c6926c374d
commit
9a2913ed1c
@ -121,9 +121,6 @@ STATIC mp_obj_t list_binary_op(mp_uint_t op, mp_obj_t lhs, mp_obj_t rhs) {
|
|||||||
return MP_OBJ_UNCAST(s);
|
return MP_OBJ_UNCAST(s);
|
||||||
}
|
}
|
||||||
case MP_BINARY_OP_INPLACE_ADD: {
|
case MP_BINARY_OP_INPLACE_ADD: {
|
||||||
if (!MP_OBJ_IS_TYPE(rhs, &mp_type_list)) {
|
|
||||||
return MP_OBJ_NULL; // op not supported
|
|
||||||
}
|
|
||||||
list_extend(lhs, rhs);
|
list_extend(lhs, rhs);
|
||||||
return lhs;
|
return lhs;
|
||||||
}
|
}
|
||||||
|
33
tests/basics/list_extend.py
Normal file
33
tests/basics/list_extend.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# test list.__iadd__ and list.extend (they are equivalent)
|
||||||
|
|
||||||
|
l = [1, 2]
|
||||||
|
l.extend([])
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l.extend([3])
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l.extend([4, 5])
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l.extend(range(6, 10))
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l.extend("abc")
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l = [1, 2]
|
||||||
|
l += []
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l += [3]
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l += [4, 5]
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l += range(6, 10)
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l += "abc"
|
||||||
|
print(l)
|
Loading…
Reference in New Issue
Block a user