diff --git a/src/ng/cacheFactory.js b/src/ng/cacheFactory.js index 850d48f297e2..2ff02a374c60 100644 --- a/src/ng/cacheFactory.js +++ b/src/ng/cacheFactory.js @@ -70,6 +70,8 @@ function $CacheFactoryProvider() { remove: function(key) { var lruEntry = lruHash[key]; + if (!lruEntry) return; + if (lruEntry == freshEnd) freshEnd = lruEntry.p; if (lruEntry == staleEnd) staleEnd = lruEntry.n; link(lruEntry.n,lruEntry.p); diff --git a/test/ng/cacheFactorySpec.js b/test/ng/cacheFactorySpec.js index dc68b63d45fa..88e8e523c627 100644 --- a/test/ng/cacheFactorySpec.js +++ b/test/ng/cacheFactorySpec.js @@ -89,6 +89,11 @@ describe('$cacheFactory', function() { })); + it('should return undefined when entry does not exist', inject(function($cacheFactory) { + expect(cache.remove('non-existent')).toBeUndefined(); + })); + + it('should stringify keys', inject(function($cacheFactory) { cache.put('123', 'foo'); cache.put(123, 'bar');