Name: js-handler/node_modules/restify/node_modules/once/test/once.js 
1:
var test = require('tap').test
2:
var once = require('../once.js')
3:
 
4:
test('once', function (t) {
5:
  var f = 0
6:
  var foo = once(function (g) {
7:
    t.equal(f, 0)
8:
    f ++
9:
    return f + g + this
10:
  })
11:
  for (var i = 0; i < 1E3; i++) {
12:
    t.same(f, i === 0 ? 0 : 1)
13:
    var g = foo.call(1, 1)
14:
    t.same(g, i === 0 ? 3 : undefined)
15:
    t.same(f, 1)
16:
  }
17:
  t.end()
18:
})