12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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();
- });
- });
- });
- });
|