diff options
Diffstat (limited to 'test/mitmproxy/test_utils_lrucache.py')
-rw-r--r-- | test/mitmproxy/test_utils_lrucache.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/mitmproxy/test_utils_lrucache.py b/test/mitmproxy/test_utils_lrucache.py new file mode 100644 index 00000000..07b96b4d --- /dev/null +++ b/test/mitmproxy/test_utils_lrucache.py @@ -0,0 +1,34 @@ +from mitmproxy.utils import lrucache + + +def test_LRUCache(): + cache = lrucache.LRUCache(2) + + class Foo: + ran = False + + def gen(self, x): + self.ran = True + return x + f = Foo() + + assert not f.ran + assert cache.get(f.gen, 1) == 1 + assert f.ran + f.ran = False + assert cache.get(f.gen, 1) == 1 + assert not f.ran + + f.ran = False + assert cache.get(f.gen, 1) == 1 + assert not f.ran + assert cache.get(f.gen, 2) == 2 + assert cache.get(f.gen, 3) == 3 + assert f.ran + + f.ran = False + assert cache.get(f.gen, 1) == 1 + assert f.ran + + assert len(cache.cacheList) == 2 + assert len(cache.cache) == 2 |