lodash-contrib
Version:
The brass buckles on lodash's utility belt
82 lines (69 loc) • 5.71 kB
JavaScript
$(document).ready(function() {
module("lodash.util.existential");
test("exists", function() {
equal(_.exists(null), false, 'should know that null is not existy');
equal(_.exists(undefined), false, 'should know that undefined is not existy');
equal(_.exists(1), true, 'should know that all but null and undefined are existy');
equal(_.exists(0), true, 'should know that all but null and undefined are existy');
equal(_.exists(-1), true, 'should know that all but null and undefined are existy');
equal(_.exists(3.14), true, 'should know that all but null and undefined are existy');
equal(_.exists('undefined'), true, 'should know that all but null and undefined are existy');
equal(_.exists(''), true, 'should know that all but null and undefined are existy');
equal(_.exists(NaN), true, 'should know that all but null and undefined are existy');
equal(_.exists(Infinity), true, 'should know that all but null and undefined are existy');
equal(_.exists(true), true, 'should know that all but null and undefined are existy');
equal(_.exists(false), true, 'should know that all but null and undefined are existy');
equal(_.exists(function(){}), true, 'should know that all but null and undefined are existy');
equal(_.existsAll(0, null, '2'), false, 'should know that null is not existy');
equal(_.existsAll(0, undefined, '2'), false, 'should know that undefined is not existy');
equal(_.existsAll(0, 'undefined', NaN, Infinity, true, false, function(){}), true, 'should know that all but null and undefined are existy');
});
test("truthy", function() {
equal(_.truthy(null), false, 'should know that null, undefined and false are not truthy');
equal(_.truthy(undefined), false, 'should know that null, undefined and false are not truthy');
equal(_.truthy(false), false, 'should know that null, undefined and false are not truthy');
equal(_.truthy(1), true, 'should know that everything else is truthy');
equal(_.truthy(0), true, 'should know that everything else is truthy');
equal(_.truthy(-1), true, 'should know that everything else is truthy');
equal(_.truthy(3.14), true, 'should know that everything else is truthy');
equal(_.truthy('undefined'), true, 'should know that everything else is truthy');
equal(_.truthy(''), true, 'should know that everything else is truthy');
equal(_.truthy(NaN), true, 'should know that everything else is truthy');
equal(_.truthy(Infinity), true, 'should know that everything else is truthy');
equal(_.truthy(true), true, 'should know that everything else is truthy');
equal(_.truthy(function(){}), true, 'should know that everything else is truthy');
equal(_.truthyAll(0, null, '2'), false, 'should know that null is not truthy');
equal(_.truthyAll(0, undefined, '2'), false, 'should know that undefined is not truthy');
equal(_.truthyAll(0, undefined, '2'), false, 'should know that false is not truthy');
equal(_.truthyAll(0, 'undefined', NaN, Infinity, true, function(){}), true, 'should know that all but null and undefined are truthy');
});
test("falsey", function() {
equal(_.falsey(null), true, 'should know that null, undefined and false are falsey');
equal(_.falsey(undefined), true, 'should know that null, undefined and false are falsey');
equal(_.falsey(false), true, 'should know that null, undefined and false are falsey');
equal(_.falsey(1), false, 'should know that everything else is not falsey');
equal(_.falsey(0), false, 'should know that everything else is not falsey');
equal(_.falsey(-1), false, 'should know that everything else is not falsey');
equal(_.falsey(3.14), false, 'should know that everything else is not falsey');
equal(_.falsey('undefined'), false, 'should know that everything else is not falsey');
equal(_.falsey(''), false, 'should know that everything else is not falsey');
equal(_.falsey(NaN), false, 'should know that everything else is not falsey');
equal(_.falsey(Infinity), false, 'should know that everything else is not falsey');
equal(_.falsey(true), false, 'should know that everything else is not falsey');
equal(_.falsey(function(){}), false, 'should know that everything else is not falsey');
equal(!_.truthyAll(1, null, '2'), true, '!_.truthyAll should know that null is falsey even when veriadic');
equal(!_.truthyAll(1, undefined, '2'), true, '!_.truthyAll should know that undefined is falsey even when veriadic');
equal(!_.truthyAll(1, false, '2'), true, '!_.truthyAll should know that false is falsey even when veriadic');
equal(!_.truthyAll(1, 'undefined', NaN, Infinity, true, function(){}), false, '!_.truthyAll should know that only null undefined and false are falsey even when veriadic');
equal(_.falseyAll(false, null), true, '_.falseyAll should know that null is falsey even when veriadic');
equal(_.falseyAll(false, undefined), true, '_.falseyAll should know that undefined is falsey even when veriadic');
equal(_.falseyAll(false, false), true, '_.falseyAll should know that false is falsey even when veriadic');
equal(_.falseyAll(false, null, undefined), true, '_.falseyAll should know that only null undefined and false are falsey even when veriadic');
});
test('firstExisting', function() {
equal(_.firstExisting('first', 'second'), 'first', 'should return the first existing value');
equal(_.firstExisting(null, 'second'), 'second', 'should ignore null');
equal(_.firstExisting(void 0, 'second'), 'second', 'should ignore undefined');
equal(_.firstExisting(null, void 0, 'third'), 'third', 'should work with more arguments');
});
});