Method for peeking at the newest cache entry key
This commit is contained in:
@@ -196,6 +196,15 @@ ol.structs.LRUCache.prototype.peekLastKey = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the key of the newest item in the cache. Throws if the cache is empty.
|
||||||
|
* @return {string} The newest key.
|
||||||
|
*/
|
||||||
|
ol.structs.LRUCache.prototype.peekFirstKey = function() {
|
||||||
|
return this.newest_.key_;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {T} value Value.
|
* @return {T} value Value.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -164,6 +164,30 @@ describe('ol.structs.LRUCache', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('#peekFirstKey()', function() {
|
||||||
|
it('returns the newest key in the cache', function() {
|
||||||
|
var cache = new ol.structs.LRUCache();
|
||||||
|
cache.set('oldest', 'oldest');
|
||||||
|
cache.set('oldish', 'oldish');
|
||||||
|
cache.set('newish', 'newish');
|
||||||
|
cache.set('newest', 'newest');
|
||||||
|
expect(cache.peekFirstKey()).to.eql('newest');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('works if the cache has one item', function() {
|
||||||
|
var cache = new ol.structs.LRUCache();
|
||||||
|
cache.set('key', 'value');
|
||||||
|
expect(cache.peekFirstKey()).to.eql('key');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('throws if the cache is empty', function() {
|
||||||
|
var cache = new ol.structs.LRUCache();
|
||||||
|
expect(function() {
|
||||||
|
cache.peekFirstKey();
|
||||||
|
}).to.throwException();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('peeking at the last value', function() {
|
describe('peeking at the last value', function() {
|
||||||
it('returns the last key', function() {
|
it('returns the last key', function() {
|
||||||
fillLRUCache(lruCache);
|
fillLRUCache(lruCache);
|
||||||
|
|||||||
Reference in New Issue
Block a user