diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-12-17 11:24:35 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-12-17 11:25:05 -0500 |
| commit | f1fcc92e36a1ec43afcfd7750f4f4753f4ef6b00 (patch) | |
| tree | 8272f7471a3dff25d51833a200f7e08ffe7d5214 /test/ext | |
| parent | 33536bf06e7bca3dc3b4e39daa4aa9c0adbce9e5 (diff) | |
| download | sqlalchemy-f1fcc92e36a1ec43afcfd7750f4f4753f4ef6b00.tar.gz | |
- Further fixes to :ticket:`3605`, pop method on :class:`.MutableDict`,
where the "default" argument was not included.
fixes #3605
(cherry picked from commit 913858c949ae9ca6250217d82d72c7d79e9f6585)
Diffstat (limited to 'test/ext')
| -rw-r--r-- | test/ext/test_mutable.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/test/ext/test_mutable.py b/test/ext/test_mutable.py index ed97a0d92..602ff911a 100644 --- a/test/ext/test_mutable.py +++ b/test/ext/test_mutable.py @@ -4,7 +4,7 @@ from sqlalchemy.orm import mapper, Session, composite from sqlalchemy.orm.mapper import Mapper from sqlalchemy.orm.instrumentation import ClassManager from sqlalchemy.testing.schema import Table, Column -from sqlalchemy.testing import eq_, assert_raises_message +from sqlalchemy.testing import eq_, assert_raises_message, assert_raises from sqlalchemy.testing.util import picklers from sqlalchemy.testing import fixtures from sqlalchemy.ext.mutable import MutableComposite @@ -146,6 +146,21 @@ class _MutableDictTestBase(_MutableDictTestFixture): eq_(f1.data.pop('a'), 'b') sess.commit() + assert_raises(KeyError, f1.data.pop, 'g') + + eq_(f1.data, {'c': 'd'}) + + def test_pop_default(self): + sess = Session() + + f1 = Foo(data={'a': 'b', 'c': 'd'}) + sess.add(f1) + sess.commit() + + eq_(f1.data.pop('a', 'q'), 'b') + eq_(f1.data.pop('a', 'q'), 'q') + sess.commit() + eq_(f1.data, {'c': 'd'}) def test_popitem(self): |
