summaryrefslogtreecommitdiff
path: root/test/orm/test_mapper.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-10-28 11:53:32 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-10-28 11:53:32 -0400
commita870d1c401fb4da3139743cafc6c5e29d988faee (patch)
tree1a9639155711b054ed81ebb46615905ca4e2b53e /test/orm/test_mapper.py
parentd9adb2a4fd3e865d3c8d4f6f2e0a12d5c4036c97 (diff)
downloadsqlalchemy-a870d1c401fb4da3139743cafc6c5e29d988faee.tar.gz
- [bug] fixed inappropriate evaluation of user-mapped
object in a boolean context within query.get() [ticket:2310].
Diffstat (limited to 'test/orm/test_mapper.py')
-rw-r--r--test/orm/test_mapper.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py
index 78cc142ff..71bb10878 100644
--- a/test/orm/test_mapper.py
+++ b/test/orm/test_mapper.py
@@ -690,6 +690,18 @@ class MapperTest(_fixtures.FixtureTest):
s.add(A())
s.commit()
+ def test_we_dont_call_bool(self):
+ class NoBoolAllowed(object):
+ def __nonzero__(self):
+ raise Exception("nope")
+ mapper(NoBoolAllowed, self.tables.users)
+ u1 = NoBoolAllowed()
+ u1.name = "some name"
+ s = Session(testing.db)
+ s.add(u1)
+ s.commit()
+ assert s.query(NoBoolAllowed).get(u1.id) is u1
+
def test_we_dont_call_eq(self):
class NoEqAllowed(object):
def __eq__(self, other):