diff options
| author | Daniel Tao <daniel.tao@gmail.com> | 2017-09-15 16:16:44 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-10-10 09:35:57 -0400 |
| commit | 45b0ec87d3d7c60c60b0f1c69cd89789bafaa6a8 (patch) | |
| tree | 2e311403883cce2a9a4273e633afea911788b96c /tests/cache | |
| parent | 9b8e76f96dcb755a2cbf4846888058eae2510cf8 (diff) | |
[1.11.x] Fixed #28601 -- Prevented cache.get_or_set() from caching None if default is a callable that returns None.
Backport of 4d60261b2a77460b4c127c3d832518b95e11a0ac from master
Diffstat (limited to 'tests/cache')
| -rw-r--r-- | tests/cache/tests.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/cache/tests.py b/tests/cache/tests.py index edf25cfc65..0305020840 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -931,6 +931,11 @@ class BaseCacheTests(object): self.assertEqual(cache.get_or_set('mykey', my_callable), 'value') self.assertEqual(cache.get_or_set('mykey', my_callable()), 'value') + def test_get_or_set_callable_returning_none(self): + self.assertIsNone(cache.get_or_set('mykey', lambda: None)) + # Previous get_or_set() doesn't store None in the cache. + self.assertEqual(cache.get('mykey', 'default'), 'default') + def test_get_or_set_version(self): msg = ( "get_or_set() missing 1 required positional argument: 'default'" |
