summaryrefslogtreecommitdiff
path: root/tests/cache
diff options
context:
space:
mode:
authorDaniel Tao <daniel.tao@gmail.com>2017-09-15 16:16:44 -0500
committerTim Graham <timograham@gmail.com>2017-10-10 09:20:34 -0400
commit4d60261b2a77460b4c127c3d832518b95e11a0ac (patch)
tree0d2baa5dd9ea66f71b26d6a58e68ffc8e0e424b4 /tests/cache
parent0e212a705e6b2e49a246b16286036c40ec2ac4f8 (diff)
Fixed #28601 -- Prevented cache.get_or_set() from caching None if default is a callable that returns None.
Diffstat (limited to 'tests/cache')
-rw-r--r--tests/cache/tests.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/cache/tests.py b/tests/cache/tests.py
index 57e4ec15b4..9a903ef203 100644
--- a/tests/cache/tests.py
+++ b/tests/cache/tests.py
@@ -924,6 +924,11 @@ class BaseCacheTests:
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'"
cache.get_or_set('brian', 1979, version=2)