File: /var/www/javago-api-updates/node_modules/lru-memoizer/test/lru-memoizer.freeze.test.js
const memoizer = require("./..");
const assert = require("chai").assert;
describe("lru-memoizer (freeze)", function () {
var loadTimes = 0,
memoized;
beforeEach(function () {
loadTimes = 0;
memoized = memoizer({
load: function (key, callback) {
loadTimes++;
callback(null, { foo: "bar", buffer: Buffer.from("1234") });
},
hash: function (key) {
return key;
},
freeze: true,
});
});
it("should return a freeze every time with the same cached structure", function (done) {
memoized("test", function (err, r1) {
assert.isNull(err);
assert.strictEqual(loadTimes, 1);
assert.equal(r1.foo, "bar");
r1.foo = "bax";
assert.isFrozen(r1);
memoized("test", function (err, r2) {
assert.isNull(err);
assert.strictEqual(loadTimes, 1);
assert.equal(r2.foo, "bar");
assert.strictEqual(r1, r2);
assert.isFrozen(r2);
done();
});
});
});
});