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.
|
||||
*/
|
||||
|
||||
@@ -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() {
|
||||
it('returns the last key', function() {
|
||||
fillLRUCache(lruCache);
|
||||
|
||||
Reference in New Issue
Block a user