diff options
Diffstat (limited to 'test/ext/test_indexable.py')
| -rw-r--r-- | test/ext/test_indexable.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/ext/test_indexable.py b/test/ext/test_indexable.py index 56f2e1786..b9e942e4b 100644 --- a/test/ext/test_indexable.py +++ b/test/ext/test_indexable.py @@ -138,6 +138,31 @@ class IndexPropertyTest(fixtures.TestBase): j.field = 10 eq_(j.field, 10) + def test_get_default_value(self): + Base = declarative_base() + + class J(Base): + __tablename__ = 'j' + id = Column(Integer, primary_key=True) + json = Column(JSON, default={}) + default = index_property('json', 'field', default='default') + none = index_property('json', 'field', default=None) + + j = J() + assert j.json is None + + assert j.default == 'default' + assert j.none is None + j.json = {} + assert j.default == 'default' + assert j.none is None + j.default = None + assert j.default is None + assert j.none is None + j.none = 10 + assert j.default is 10 + assert j.none == 10 + class IndexPropertyArrayTest(fixtures.DeclarativeMappedTest): |
