diff options
author | Damien George <damien.p.george@gmail.com> | 2015-08-02 20:53:54 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-08-02 20:53:54 +0100 |
commit | 9a2913ed1c57e6d167cad70d87ad32d504cb6f43 (patch) | |
tree | 4ad591db059c9a6e41f19b4d23e0e31169945a8f | |
parent | c6926c374dc0408d7ef8fa6385207430c122e6cf (diff) |
py/objlist: Make list += accept all arguments and add test.
-rw-r--r-- | py/objlist.c | 3 | ||||
-rw-r--r-- | tests/basics/list_extend.py | 33 |
2 files changed, 33 insertions, 3 deletions
diff --git a/py/objlist.c b/py/objlist.c index 940403212..21220441b 100644 --- a/py/objlist.c +++ b/py/objlist.c @@ -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; } diff --git a/tests/basics/list_extend.py b/tests/basics/list_extend.py new file mode 100644 index 000000000..21cdb41e6 --- /dev/null +++ b/tests/basics/list_extend.py @@ -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) |