One Hat Cyber Team
Your IP :
216.73.217.131
Server IP :
185.33.55.30
Server :
Linux cl30.webspacecontrol.com 5.14.0-611.38.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 10 17:21:28 EDT 2026 x86_64
Server Software :
Apache
PHP Version :
8.1.34
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
esetkocsi
/
www
/
node_modules
/
reusify
/
View File Name :
test.js
'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() })