Spaces:
Sleeping
Sleeping
; | |
var assert = require("@sinonjs/referee-sinon").assert; | |
var sinon = require("@sinonjs/referee-sinon").sinon; | |
var every = require("./every"); | |
describe("util/core/every", function () { | |
it("returns true when the callback function returns true for every element in an iterable", function () { | |
var obj = [true, true, true, true]; | |
var allTrue = every(obj, function (val) { | |
return val; | |
}); | |
assert(allTrue); | |
}); | |
it("returns false when the callback function returns false for any element in an iterable", function () { | |
var obj = [true, true, true, false]; | |
var result = every(obj, function (val) { | |
return val; | |
}); | |
assert.isFalse(result); | |
}); | |
it("calls the given callback once for each item in an iterable until it returns false", function () { | |
var iterableOne = [true, true, true, true]; | |
var iterableTwo = [true, true, false, true]; | |
var callback = sinon.spy(function (val) { | |
return val; | |
}); | |
every(iterableOne, callback); | |
assert.equals(callback.callCount, 4); | |
callback.resetHistory(); | |
every(iterableTwo, callback); | |
assert.equals(callback.callCount, 3); | |
}); | |
}); | |