mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-12 18:52:50 +00:00
updated package.json
This commit is contained in:
51
node_modules/wrappy/test/basic.js
generated
vendored
Normal file
51
node_modules/wrappy/test/basic.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
var test = require('tap').test
|
||||
var wrappy = require('../wrappy.js')
|
||||
|
||||
test('basic', function (t) {
|
||||
function onceifier (cb) {
|
||||
var called = false
|
||||
return function () {
|
||||
if (called) return
|
||||
called = true
|
||||
return cb.apply(this, arguments)
|
||||
}
|
||||
}
|
||||
onceifier.iAmOnce = {}
|
||||
var once = wrappy(onceifier)
|
||||
t.equal(once.iAmOnce, onceifier.iAmOnce)
|
||||
|
||||
var called = 0
|
||||
function boo () {
|
||||
t.equal(called, 0)
|
||||
called++
|
||||
}
|
||||
// has some rando property
|
||||
boo.iAmBoo = true
|
||||
|
||||
var onlyPrintOnce = once(boo)
|
||||
|
||||
onlyPrintOnce() // prints 'boo'
|
||||
onlyPrintOnce() // does nothing
|
||||
t.equal(called, 1)
|
||||
|
||||
// random property is retained!
|
||||
t.equal(onlyPrintOnce.iAmBoo, true)
|
||||
|
||||
var logs = []
|
||||
var logwrap = wrappy(function (msg, cb) {
|
||||
logs.push(msg + ' wrapping cb')
|
||||
return function () {
|
||||
logs.push(msg + ' before cb')
|
||||
var ret = cb.apply(this, arguments)
|
||||
logs.push(msg + ' after cb')
|
||||
}
|
||||
})
|
||||
|
||||
var c = logwrap('foo', function () {
|
||||
t.same(logs, [ 'foo wrapping cb', 'foo before cb' ])
|
||||
})
|
||||
c()
|
||||
t.same(logs, [ 'foo wrapping cb', 'foo before cb', 'foo after cb' ])
|
||||
|
||||
t.end()
|
||||
})
|
||||
Reference in New Issue
Block a user