aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_utils.py')
-rw-r--r--test/test_utils.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/test_utils.py b/test/test_utils.py
index c7d4e03f..434d6b26 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -310,6 +310,36 @@ class udummy_cert(libpry.AutoTree):
assert os.path.exists(os.path.join(d, "foo.com.pem"))
+class uLRUCache(libpry.AutoTree):
+ def test_one(self):
+ class Foo:
+ ran = False
+ @utils.LRUCache(2)
+ def one(self, x):
+ self.ran = True
+ return x
+
+ f = Foo()
+ assert f.one(1) == 1
+ assert f.ran
+ f.ran = False
+ assert f.one(1) == 1
+ assert not f.ran
+
+ f.ran = False
+ assert f.one(1) == 1
+ assert not f.ran
+ assert f.one(2) == 2
+ assert f.one(3) == 3
+ assert f.ran
+
+ f.ran = False
+ assert f.one(1) == 1
+ assert f.ran
+
+ assert len(f._cached_one) == 2
+ assert len(f._cachelist_one) == 2
+
tests = [
uformat_timestamp(),
@@ -324,4 +354,5 @@ tests = [
upretty_xmlish(),
udummy_ca(),
udummy_cert(),
+ uLRUCache(),
]