From 4279e13bd3f7cdc73973cc2863835aa60a86662d Mon Sep 17 00:00:00 2001 From: Stephan Jaekel Date: Sat, 12 Jan 2013 12:00:31 +0100 Subject: [PATCH] Fixed #18026 -- Don't return an anonymous dict if extra_data in storage is empty. --- formtools/tests/wizard/storage.py | 10 ++++++++++ formtools/wizard/storage/base.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/formtools/tests/wizard/storage.py b/formtools/tests/wizard/storage.py index fe1d963..17968df 100644 --- a/formtools/tests/wizard/storage.py +++ b/formtools/tests/wizard/storage.py @@ -75,3 +75,13 @@ class TestStorage(object): storage.extra_data = extra_context storage2 = self.get_storage()('wizard2', request, None) self.assertEqual(storage2.extra_data, {}) + + def test_extra_context_key_persistence(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + + self.assertFalse('test' in storage.extra_data) + + storage.extra_data['test'] = True + + self.assertTrue('test' in storage.extra_data) diff --git a/formtools/wizard/storage/base.py b/formtools/wizard/storage/base.py index 2e59679..6c155e0 100644 --- a/formtools/wizard/storage/base.py +++ b/formtools/wizard/storage/base.py @@ -37,7 +37,7 @@ class BaseStorage(object): current_step = lazy_property(_get_current_step, _set_current_step) def _get_extra_data(self): - return self.data[self.extra_data_key] or {} + return self.data[self.extra_data_key] def _set_extra_data(self, extra_data): self.data[self.extra_data_key] = extra_data