diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2016-06-29 17:41:03 -0400 |
|---|---|---|
| committer | Gerrit Code Review <gerrit2@ln3.zzzcomputing.com> | 2016-06-29 17:41:03 -0400 |
| commit | 07e5b7cf5436ed22d902c31d8ada6422a1574036 (patch) | |
| tree | 117e6f42639e9cac6abfdd65f10c5d5704fdf6ba /test | |
| parent | acd8b1c107d536669ca7200edbca0f039f1e79fb (diff) | |
| parent | fcfff77128174fe5f5e82d2897c5c76df308c8ed (diff) | |
| download | sqlalchemy-07e5b7cf5436ed22d902c31d8ada6422a1574036.tar.gz | |
Merge "Repair pickling for Properties object"
Diffstat (limited to 'test')
| -rw-r--r-- | test/base/test_utils.py | 35 |
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()) |
