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);
|
||||
}
|
||||
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);
|
||||
return lhs;
|
||||
}
|
||||
|
|
|
@ -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