diff --git a/flutter_cache_manager/lib/src/cache_store.dart b/flutter_cache_manager/lib/src/cache_store.dart index 395e3eaf..2d755853 100644 --- a/flutter_cache_manager/lib/src/cache_store.dart +++ b/flutter_cache_manager/lib/src/cache_store.dart @@ -188,6 +188,10 @@ class CacheStore { } } + bool memoryCacheContainsKey(String key) { + return _memCache.containsKey(key); + } + Future dispose() async { final provider = await _cacheInfoRepository; await provider.close(); diff --git a/flutter_cache_manager/test/cache_store_test.dart b/flutter_cache_manager/test/cache_store_test.dart index 93a8bd7b..b440164c 100644 --- a/flutter_cache_manager/test/cache_store_test.dart +++ b/flutter_cache_manager/test/cache_store_test.dart @@ -110,6 +110,23 @@ void main() { await store.getFile(fileUrl); expect(await store.getFileFromMemory(fileUrl), isNotNull); }); + + test( + 'Store.memoryCacheContainsKey should return true if the key is present in the memory cache', + () async { + var config = createTestConfig(); + var store = CacheStore(config); + + var cacheObject = CacheObject( + 'baseflow.com/test.png', + relativePath: 'testimage.png', + validTill: clock.now().add(const Duration(days: 7)), + ); + await store.putFile(cacheObject); + + expect(store.memoryCacheContainsKey('baseflow.com/test.png'), true); + expect(store.memoryCacheContainsKey('unseen-file'), false); + }); }); group('Storing files in store', () {