diff --git a/test/util/ttlset.js b/test/util/ttlset.js index a0bb552f..6c0f418e 100644 --- a/test/util/ttlset.js +++ b/test/util/ttlset.js @@ -1,10 +1,34 @@ var chai = require('chai') +var sinon = require('sinon') var expect = chai.expect +chai.use(require('sinon-chai')) var TtlSet = require('../../lib/util/ttlset') describe('TtlSet', function() { + it.only('should timeout old entries', function(done) { + var ttlset = new TtlSet(50) + + var spy = sinon.spy() + ttlset.on('timeout', spy) + + ttlset.bump(1, Date.now()) + ttlset.bump(2, Date.now() + 100) + ttlset.bump(3, Date.now() + 200) + ttlset.bump(4, Date.now() + 1000) + + setTimeout(function() { + expect(spy).to.have.been.calledThrice + expect(spy).to.have.been.calledWith(1) + expect(spy).to.have.been.calledWith(2) + expect(spy).to.have.been.calledWith(3) + expect(ttlset.head).to.equal(ttlset.tail) + ttlset.stop() + done() + }, 300) + }) + describe('bump', function() { it('should create an item for the value if none exists', function(done) {