diff options
author | Jasper Spaans <spaans@fox-it.com> | 2013-10-01 17:22:55 +0200 |
---|---|---|
committer | Jasper Spaans <spaans@fox-it.com> | 2013-10-01 17:22:55 +0200 |
commit | ec90e3d8d7f12599d69eeeaf925c648651d2c753 (patch) | |
tree | f9c1975508754a6687a6301f093514f763f07f2a | |
parent | b287cb9033168e42b13feecbc3ffe3900afc1eb5 (diff) | |
download | repoze-lru-ec90e3d8d7f12599d69eeeaf925c648651d2c753.tar.gz |
Expose cache object on the wrapped function, so end users can also extract
cache data easily.
-rw-r--r-- | repoze/lru/__init__.py | 1 | ||||
-rw-r--r-- | repoze/lru/tests.py | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/repoze/lru/__init__.py b/repoze/lru/__init__.py index 8e48859..c1e93d7 100644 --- a/repoze/lru/__init__.py +++ b/repoze/lru/__init__.py @@ -290,6 +290,7 @@ class lru_cache(object): lru_cached.__module__ = f.__module__ lru_cached.__name__ = f.__name__ lru_cached.__doc__ = f.__doc__ + lru_cached._cache = cache return lru_cached diff --git a/repoze/lru/tests.py b/repoze/lru/tests.py index 8866a22..303a401 100644 --- a/repoze/lru/tests.py +++ b/repoze/lru/tests.py @@ -522,6 +522,14 @@ class DecoratorTests(unittest.TestCase): self.assertEqual(result, 2) self.assertEqual(len(cache), 2) + def test_cache_attr(self): + cache = DummyLRUCache() + decorator = self._makeOne(0, cache) + def wrapped(key): + return key + decorated = decorator(wrapped) + self.assertEqual(decorated._cache, cache) + def test_multiargs(self): cache = DummyLRUCache() decorator = self._makeOne(0, cache) |