lru-memoizer.disable.test.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const memoizer = require('./..');
  2. const assert = require('chai').assert;
  3. describe('lru-memoizer (disabled)', function () {
  4. var loadTimes = 0, memoized;
  5. beforeEach(function () {
  6. loadTimes = 0;
  7. memoized = memoizer({
  8. disable: true,
  9. load: function (a, b, callback) {
  10. loadTimes++;
  11. return setTimeout(function () {
  12. if (a === 0) {
  13. return callback(new Error('a cant be 0'));
  14. }
  15. callback(null, a+b);
  16. }, 10);
  17. },
  18. hash: function (a, b) {
  19. return a + '-' + b;
  20. },
  21. max: 10
  22. });
  23. });
  24. it('should call the load function every time', function (done) {
  25. memoized(1,2, function (err, result) {
  26. assert.isNull(err);
  27. assert.strictEqual(result, 3);
  28. assert.strictEqual(loadTimes, 1);
  29. memoized(1,2, function (err, result) {
  30. assert.isNull(err);
  31. assert.strictEqual(result, 3);
  32. assert.strictEqual(loadTimes, 2);
  33. done();
  34. });
  35. });
  36. });
  37. it('should expose hash function', function() {
  38. assert.equal(memoized.hash(1, 2), '1-2');
  39. });
  40. });