web-utils-super
Version:
前端函数库
62 lines (58 loc) • 1.66 kB
JavaScript
describe('Function API:', function () {
const utils = window['web-utils-super']
describe('#debounce()', function () {
const debounce = utils.debounce
it(`utils.debounce(function(){return true},200) should return true`, function (done) {
let num = 0
let interval = null
let debounced = debounce(function () {
num++
assert(num === 1)
done()
return true
}, 200)
interval = setInterval(function () {
debounced()
}, 20)
setTimeout(function () {
clearInterval(interval)
}, 800)
})
it(`utils.debounce(function(){return true},200,true) should return true`, function (done) {
let num = 0
let interval = null
let debounced = debounce(function () {
num++
assert(num === 1)
done()
return true
}, 200)
interval = setInterval(function () {
debounced()
}, 20)
setTimeout(function () {
clearInterval(interval)
}, 800)
})
})
describe('#throttle()', function () {
const throttle = utils.throttle
it(`utils.throttle(function(){return true},200) should return true`, function (done) {
let num = 0
let interval = null
let throttled = throttle(function () {
num++
return true
}, 200)
interval = setInterval(function () {
throttled()
}, 20)
setTimeout(function () {
console.log('num', num)
assert(num === Math.floor((805 - 200) / 200))
done()
clearInterval(interval)
}, 805)
})
})
})