summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Herve <thomas.herve@enovance.com>2014-06-24 09:55:53 +0200
committerThomas Herve <thomas.herve@enovance.com>2014-06-24 09:55:53 +0200
commite36fb9e87c89fd0af8a4a99d2ae97aa3c7ae8ad3 (patch)
tree581b6a6ee1a3d4e8325681604ddad29b4bf2c3b1
parentf10eb28d90cbf73f4757897f52bf26722f98372e (diff)
downloadsqlalchemy-e36fb9e87c89fd0af8a4a99d2ae97aa3c7ae8ad3.tar.gz
Return the assigned value in MultableDict.setdefault
-rw-r--r--lib/sqlalchemy/ext/mutable.py3
-rw-r--r--test/ext/test_mutable.py4
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/ext/mutable.py b/lib/sqlalchemy/ext/mutable.py
index d2c686048..6373b2f00 100644
--- a/lib/sqlalchemy/ext/mutable.py
+++ b/lib/sqlalchemy/ext/mutable.py
@@ -612,8 +612,9 @@ class MutableDict(Mutable, dict):
def setdefault(self, key, value):
- dict.setdefault(self, key, value)
+ result = dict.setdefault(self, key, value)
self.changed()
+ return result
def __delitem__(self, key):
"""Detect dictionary del events and emit change events."""
diff --git a/test/ext/test_mutable.py b/test/ext/test_mutable.py
index 9a030a4e9..32b3e11dd 100644
--- a/test/ext/test_mutable.py
+++ b/test/ext/test_mutable.py
@@ -93,12 +93,12 @@ class _MutableDictTestBase(object):
sess.add(f1)
sess.commit()
- f1.data.setdefault('c', 'd')
+ eq_(f1.data.setdefault('c', 'd'), 'd')
sess.commit()
eq_(f1.data, {'a': 'b', 'c': 'd'})
- f1.data.setdefault('c', 'q')
+ eq_(f1.data.setdefault('c', 'q'), 'd')
sess.commit()
eq_(f1.data, {'a': 'b', 'c': 'd'})