Files
react-native-devtools-frontend/node_modules/@sinonjs/commons/lib/every.test.js
T
Jack Franklin b5bbcc0078 Add sinonjs@8.1.1 dependency
This will be used to build out mocking in the devtools frontend unit tests.

DISABLE_THIRD_PARTY_CHECK=message doesn't apply with this change (checked with aerotwist@).

Change-Id: Ie623b4fb35677c8c4a5e52d5e75180346da6e3fd
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2050225
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2020-02-11 14:49:21 +00:00

42 lines
1.2 KiB
JavaScript

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