c618360dfaeb566df98f8da62f057c0c3be775b5
[platform/framework/web/crosswalk-tizen.git] /
1 var test = require('tap').test
2 var once = require('../once.js')
3
4 test('once', function (t) {
5   var f = 0
6   function fn (g) {
7     t.equal(f, 0)
8     f ++
9     return f + g + this
10   }
11   fn.ownProperty = {}
12   var foo = once(fn)
13   t.equal(fn.ownProperty, foo.ownProperty)
14   t.notOk(foo.called)
15   for (var i = 0; i < 1E3; i++) {
16     t.same(f, i === 0 ? 0 : 1)
17     var g = foo.call(1, 1)
18     t.ok(foo.called)
19     t.same(g, 3)
20     t.same(f, 1)
21   }
22   t.end()
23 })