3 # Allow direct execution
8 sys
.path
.insert(0, os
.path
.dirname(os
.path
.dirname(os
.path
.abspath(__file__
))))
13 from test
.helper
import FakeYDL
14 from yt_dlp
.cache
import Cache
18 return not bool(os
.listdir(d
))
22 if not os
.path
.exists(d
):
26 class TestCache(unittest
.TestCase
):
28 TEST_DIR
= os
.path
.dirname(os
.path
.abspath(__file__
))
29 TESTDATA_DIR
= os
.path
.join(TEST_DIR
, 'testdata')
31 self
.test_dir
= os
.path
.join(TESTDATA_DIR
, 'cache_test')
35 if os
.path
.exists(self
.test_dir
):
36 shutil
.rmtree(self
.test_dir
)
40 'cachedir': self
.test_dir
,
43 obj
= {'x': 1, 'y': ['รค', '\\a', True]}
44 self
.assertEqual(c
.load('test_cache', 'k.'), None)
45 c
.store('test_cache', 'k.', obj
)
46 self
.assertEqual(c
.load('test_cache', 'k2'), None)
47 self
.assertFalse(_is_empty(self
.test_dir
))
48 self
.assertEqual(c
.load('test_cache', 'k.'), obj
)
49 self
.assertEqual(c
.load('test_cache', 'y'), None)
50 self
.assertEqual(c
.load('test_cache2', 'k.'), None)
52 self
.assertFalse(os
.path
.exists(self
.test_dir
))
53 self
.assertEqual(c
.load('test_cache', 'k.'), None)
56 if __name__
== '__main__':