Fixed #4729 -- SessionWrapper.pop now sets modified flag if necessary. Thanks, Ben Slavin, SmileyChris and Collin Grady

git-svn-id: http://code.djangoproject.com/svn/django/trunk@5592 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2007-07-03 15:02:40 +00:00
parent 179f478ffe
commit f9a592d99d
2 changed files with 17 additions and 0 deletions

View File

@ -37,6 +37,7 @@ class SessionWrapper(object):
return self._session.get(key, default)
def pop(self, key, *args):
self.modified = self.modified or key in self._session
return self._session.pop(key, *args)
def set_test_cookie(self):

View File

@ -5,8 +5,24 @@ Inject data into the session cache.
>>> s._session_cache = {}
>>> s._session_cache['some key'] = 'exists'
>>> s.accessed
False
>>> s.modified
False
>>> s.pop('non existant key', 'does not exist')
'does not exist'
>>> s.accessed
True
>>> s.modified
False
>>> s.pop('some key')
'exists'
>>> s.accessed
True
>>> s.modified
True
>>> s.pop('some key', 'does not exist')
'does not exist'