NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/node_modules/lru-memoizer/test/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/node_modules/lru-memoizer/test/lru-memoizer.sync.freeze.js
const memoizer = require('./..');
const assert = require('chai').assert;

describe('lru-memoizer sync (freeze)', () => {

  describe('call', () => {
    let loadTimes = 0, memoized;

    beforeEach(() => {
      loadTimes = 0;

      memoized = memoizer.sync({
        load: (key) => {
          loadTimes++;
          return { foo: key , buffer: Buffer.from('1234') };
        },
        hash: (key) => {
          return key;
        },
        freeze: true
      });
    });

    it('should return a freeze every time with the same cached structure', () => {
      const r1 = memoized('bar');
      assert.strictEqual(loadTimes, 1);
      assert.equal(r1.foo, 'bar');
      assert.isFrozen(r1);

      const r2 = memoized('bar');
      assert.strictEqual(loadTimes, 1);
      assert.equal(r2.foo, 'bar');
      assert.isFrozen(r2);
    });
  });

  describe('Promise', () => {
    let loadTimes = 0, memoized;

    beforeEach(() => {
      loadTimes = 0;

      memoized = memoizer.sync({
        load: (key) => {
          loadTimes++;
          return Promise.resolve({ foo: key, buffer: Buffer.from('1234') });
        },
        hash: (key) => {
          return key;
        },
        freeze: true
      });
    });

    it('should return a freeze every time with the same cached structure', (done) => {
      memoized('bar').then(r1 => {
        assert.strictEqual(loadTimes, 1);
        assert.equal(r1.foo, 'bar');
        assert.isFrozen(r1);

        memoized('bar').then(r2 => {
          assert.strictEqual(loadTimes, 1);
          assert.equal(r2.foo, 'bar');
          assert.isFrozen(r2);

          done();
        });
      })
      .catch(done);
    });
  });

});


NineSec Team - 2022