Sha256: 530d22c7e371838196032c43878a412c84708d1c2465f907057cb837f5559965
Contents?: true
Size: 879 Bytes
Versions: 215
Compression:
Stored size: 879 Bytes
Contents
#!/usr/bin/env node --expose_gc var weak = require('weak'); var test = require('tap').test var LRU = require('../') var l = new LRU({ max: 10 }) var refs = 0 function X() { refs ++ weak(this, deref) } function deref() { refs -- } test('no leaks', function (t) { // fill up the cache for (var i = 0; i < 100; i++) { l.set(i, new X); // throw some gets in there, too. if (i % 2 === 0) l.get(i / 2) } gc() var start = process.memoryUsage() // capture the memory var startRefs = refs // do it again, but more for (var i = 0; i < 10000; i++) { l.set(i, new X); // throw some gets in there, too. if (i % 2 === 0) l.get(i / 2) } gc() var end = process.memoryUsage() t.equal(refs, startRefs, 'no leaky refs') console.error('start: %j\n' + 'end: %j', start, end); t.pass(); t.end(); })
Version data entries
215 entries across 120 versions & 9 rubygems