/var/www/greso.tech/server/nsm/node_modules/lru-memoizer/test
NameSizeModeActions
lru-memoizer.bypass.test.js8220644editdlrm
lru-memoizer.clone.test.js9370644editdlrm
lru-memoizer.disable.test.js11120644editdlrm
lru-memoizer.events.test.js31660644editdlrm
lru-memoizer.freeze.test.js10080644editdlrm
lru-memoizer.itemmaxage.test.js60570644editdlrm
lru-memoizer.lock.test.js8040644editdlrm
lru-memoizer.nokey.test.js9920644editdlrm
lru-memoizer.queumaxage.test.js28830644editdlrm
lru-memoizer.sync.clone.test.js17590644editdlrm
lru-memoizer.sync.events.test.js22320644editdlrm
lru-memoizer.sync.freeze.js16880644editdlrm
lru-memoizer.sync.test.js10700644editdlrm
lru-memoizer.test.js21030644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/lru-memoizer/test/lru-memoizer.events.test.js (3166B)
const memoizer = require('./..'); const sinon = require('sinon'); describe('lru-memoizer (events)', function () { let memoized; let onMiss, onHit, onQueue; beforeEach(function () { loadTimes = 0; onMiss = sinon.stub(); onHit = sinon.stub(); onQueue = sinon.stub(); memoized = memoizer({ load: function (a, b, bypass, callback) { return setTimeout(function () { if (a === 0) { return callback(new Error('a cant be 0')); } callback(null, a+b); }, 10); }, hash: function (a, b) { return a + '-' + b; }, bypass: function(a, b, bypass) { return bypass; }, max: 10 }); memoized.on('hit', onHit); memoized.on('miss', onMiss); memoized.on('queue', onQueue); }); describe('when the result is not in the cache', () => { beforeEach((done) => { memoized(1, 2, false, done); }); it('should not call onHit', () => { sinon.assert.notCalled(onHit); }); it('should not call onQueue', () => { sinon.assert.notCalled(onQueue); }); it('should call onMiss with the load arguments', () => { sinon.assert.calledOnce(onMiss); sinon.assert.calledWith(onMiss, 1, 2, false); }); }); describe('when the result is in the cache', () => { beforeEach((done) => { memoized(1,2, false, () => { onHit.reset(); onMiss.reset(); onQueue.reset(); memoized(1, 2, false, done); }); }); it('should call onHit with the load arguments', () => { sinon.assert.calledOnce(onHit); sinon.assert.calledWith(onHit, 1, 2, false); }); it('should not call onQueue', () => { sinon.assert.notCalled(onQueue); }); it('should not call onMiss', () => { sinon.assert.notCalled(onQueue); }); }); describe('when the cache is by passed', () => { beforeEach((done) => { memoized(1,2, false, () => { onHit.reset(); onMiss.reset(); onQueue.reset(); memoized(1, 2, true, done); }); }); it('should not call onHit', () => { sinon.assert.notCalled(onHit); }); it('should not call onQueue', () => { sinon.assert.notCalled(onQueue); }); it('should call onMiss with the load arguments', () => { sinon.assert.calledOnce(onMiss); sinon.assert.calledWith(onMiss, 1, 2, true); }); }); describe('when the result is pending', () => { beforeEach((done) => { let pending = 2; function onDone() { pending -= 1; if (pending === 0) { done(); } } memoized(1, 2, false, onDone); onHit.reset(); onMiss.reset(); onQueue.reset(); memoized(1, 2, false, onDone); }); it('should not call onHit', () => { sinon.assert.notCalled(onHit); }); it('should call onQueue with the load arguments', () => { sinon.assert.calledOnce(onQueue); sinon.assert.calledWith(onQueue, 1, 2, false); }); it('should not call onMiss', () => { sinon.assert.notCalled(onMiss); }); }); });