diff options
-rw-r--r-- | lib/sqlalchemy/orm/collections.py | 1 | ||||
-rw-r--r-- | test/orm/test_collection.py | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/collections.py b/lib/sqlalchemy/orm/collections.py index fd1677058..ffd0b8c37 100644 --- a/lib/sqlalchemy/orm/collections.py +++ b/lib/sqlalchemy/orm/collections.py @@ -1163,7 +1163,6 @@ def _list_decorators(): def clear(fn): def clear(self, index=-1): - __before_delete(self) for item in self: __del(self, item) fn(self) diff --git a/test/orm/test_collection.py b/test/orm/test_collection.py index f6493f1a8..f94c742b3 100644 --- a/test/orm/test_collection.py +++ b/test/orm/test_collection.py @@ -284,6 +284,16 @@ class CollectionsTest(fixtures.ORMTest): del control[:] assert_eq() + if hasattr(direct, 'clear'): + for i in range(1, 4): + e = creator() + direct.append(e) + control.append(e) + + direct.clear() + control.clear() + assert_eq() + if hasattr(direct, 'extend'): values = [creator(), creator(), creator()] |