You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
865 B
47 lines
865 B
var assert = require('assert')
|
|
var HLRU = require('../')
|
|
var lru = HLRU(2)
|
|
|
|
// set-get:
|
|
lru.set('test', 'test')
|
|
|
|
assert.equal(lru.get('test'), 'test')
|
|
|
|
// has:
|
|
assert.equal(lru.has('test'), true)
|
|
assert.equal(lru.has('blah'), false)
|
|
|
|
// update:
|
|
lru.set('test', 'test2')
|
|
|
|
assert.equal(lru.get('test'), 'test2')
|
|
|
|
// cache cycle:
|
|
lru.set('test2', 'test')
|
|
|
|
assert.equal(lru.get('test2'), 'test')
|
|
|
|
// get previous after cache cycle:
|
|
assert.equal(lru.get('test'), 'test2')
|
|
|
|
// update new cache:
|
|
lru.set('test2', 'test2')
|
|
|
|
assert.equal(lru.get('test2'), 'test2')
|
|
|
|
// object purity:
|
|
assert.equal(lru.get('constructor'), undefined)
|
|
|
|
// max validation:
|
|
assert.throws(HLRU)
|
|
|
|
// remove:
|
|
assert.equal(lru.has('test2'), true)
|
|
lru.remove('test2')
|
|
assert.equal(lru.has('test2'), false)
|
|
|
|
// clear
|
|
assert.equal(lru.has('test'), true)
|
|
lru.clear()
|
|
assert.equal(lru.has('test'), false)
|