lru-memoizer.nokey.test.js 992 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. var memoizer = require('./..');
  2. var assert = require('chai').assert;
  3. describe('lru-memoizer (no key)', function () {
  4. var loadTimes = 0, memoized;
  5. beforeEach(function () {
  6. loadTimes = 0;
  7. memoized = memoizer({
  8. load: function (callback) {
  9. loadTimes++;
  10. return setTimeout(function () {
  11. callback(null, loadTimes);
  12. }, 10);
  13. }
  14. });
  15. });
  16. it('should cache the result of an async function', function (done) {
  17. memoized(function (err, result) {
  18. assert.isNull(err);
  19. assert.equal(result, 1);
  20. assert.equal(loadTimes, 1);
  21. memoized(function (err, result) {
  22. assert.isNull(err);
  23. assert.equal(result, 1);
  24. assert.equal(loadTimes, 1);
  25. done();
  26. });
  27. });
  28. });
  29. it('should use the hash function for keys', function (done) {
  30. memoized(function () {
  31. memoized(function () {
  32. assert.includeMembers(memoized.keys(), ['_']);
  33. done();
  34. });
  35. });
  36. });
  37. });