aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@sinonjs/commons/lib/every.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@sinonjs/commons/lib/every.test.js')
-rw-r--r--node_modules/@sinonjs/commons/lib/every.test.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/node_modules/@sinonjs/commons/lib/every.test.js b/node_modules/@sinonjs/commons/lib/every.test.js
new file mode 100644
index 0000000..f893d43
--- /dev/null
+++ b/node_modules/@sinonjs/commons/lib/every.test.js
@@ -0,0 +1,41 @@
+"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);
+ });
+});