|
1234567891011121314151617181920212223242526272829303132333435363738394041 |
- "use strict";
-
- 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);
- });
- });
|