/
var
/
www
/
flurhymez
/
node_modules
/
reusify
/
/var/www/flurhymez/node_modules/reusify
mkdir
upload
Name
Size
Mode
Actions
benchmarks/
-
0755
rm
.coveralls.yml
46
0644
edit
dl
rm
.travis.yml
284
0644
edit
dl
rm
LICENSE
1082
0644
edit
dl
rm
package.json
1787
0644
edit
dl
rm
README.md
3633
0644
edit
dl
rm
reusify.js
454
0644
edit
dl
rm
test.js
1440
0644
edit
dl
rm
Edit:
/var/www/flurhymez/node_modules/reusify/test.js
(1440B)
'use strict' var test = require('tape') var reusify = require('./') test('reuse objects', function (t) { t.plan(6) function MyObject () { t.pass('constructor called') this.next = null } var instance = reusify(MyObject) var obj = instance.get() t.notEqual(obj, instance.get(), 'two instance created') t.notOk(obj.next, 'next must be null') instance.release(obj) // the internals keeps a hot copy ready for reuse // putting this one back in the queue instance.release(instance.get()) // comparing the old one with the one we got // never do this in real code, after release you // should never reuse that instance t.equal(obj, instance.get(), 'instance must be reused') }) test('reuse more than 2 objects', function (t) { function MyObject () { t.pass('constructor called') this.next = null } var instance = reusify(MyObject) var obj = instance.get() var obj2 = instance.get() var obj3 = instance.get() t.notOk(obj.next, 'next must be null') t.notOk(obj2.next, 'next must be null') t.notOk(obj3.next, 'next must be null') t.notEqual(obj, obj2) t.notEqual(obj, obj3) t.notEqual(obj3, obj2) instance.release(obj) instance.release(obj2) instance.release(obj3) // skip one instance.get() var obj4 = instance.get() var obj5 = instance.get() var obj6 = instance.get() t.equal(obj4, obj) t.equal(obj5, obj2) t.equal(obj6, obj3) t.end() })
Save
cmd:
run