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 ] |
---|
const memoizer = require('./..'); const assert = require('chai').assert; describe('lru-memoizer sync (clone)', () => { 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; }, clone: true }); }); it('should return a clone every time with the same cached structure', () => { const r1 = memoized('bar'); assert.strictEqual(loadTimes, 1); assert.equal(r1.foo, 'bar'); r1.foo = 'bax'; const r2 = memoized('bar'); assert.strictEqual(loadTimes, 1); assert.equal(r2.foo, 'bar'); assert.notStrictEqual(r1, r2); assert.notEqual(r1, 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; }, clone: true }); }); it('should return a clone every time with the same cached structure', (done) => { memoized('bar').then(r1 => { assert.strictEqual(loadTimes, 1); assert.equal(r1.foo, 'bar'); r1.foo = 'bax'; memoized('bar').then(r2 => { assert.strictEqual(loadTimes, 1); assert.equal(r2.foo, 'bar'); assert.notStrictEqual(r1, r2); assert.notEqual(r1, r2); done(); }); }) .catch(done); }); }); });