summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2016-06-29 17:41:03 -0400
committerGerrit Code Review <gerrit2@ln3.zzzcomputing.com>2016-06-29 17:41:03 -0400
commit07e5b7cf5436ed22d902c31d8ada6422a1574036 (patch)
tree117e6f42639e9cac6abfdd65f10c5d5704fdf6ba /test
parentacd8b1c107d536669ca7200edbca0f039f1e79fb (diff)
parentfcfff77128174fe5f5e82d2897c5c76df308c8ed (diff)
downloadsqlalchemy-07e5b7cf5436ed22d902c31d8ada6422a1574036.tar.gz
Merge "Repair pickling for Properties object"
Diffstat (limited to 'test')
-rw-r--r--test/base/test_utils.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/base/test_utils.py b/test/base/test_utils.py
index fcb9a59a3..7e2473dee 100644
--- a/test/base/test_utils.py
+++ b/test/base/test_utils.py
@@ -2256,3 +2256,38 @@ class TestClassProperty(fixtures.TestBase):
eq_(B.something, {'foo': 1, 'bazz': 2})
+class TestProperties(fixtures.TestBase):
+
+ def test_pickle(self):
+ data = {'hello': 'bla'}
+ props = util.Properties(data)
+
+ for loader, dumper in picklers():
+ s = dumper(props)
+ p = loader(s)
+
+ eq_(props._data, p._data)
+ eq_(props.keys(), p.keys())
+
+ def test_pickle_immuatbleprops(self):
+ data = {'hello': 'bla'}
+ props = util.Properties(data).as_immutable()
+
+ for loader, dumper in picklers():
+ s = dumper(props)
+ p = loader(s)
+
+ eq_(props._data, p._data)
+ eq_(props.keys(), p.keys())
+
+ def test_pickle_orderedprops(self):
+ data = {'hello': 'bla'}
+ props = util.OrderedProperties()
+ props.update(data)
+
+ for loader, dumper in picklers():
+ s = dumper(props)
+ p = loader(s)
+
+ eq_(props._data, p._data)
+ eq_(props.keys(), p.keys())