util.existential.js
3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
$(document).ready(function() {
module("underscore.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');
});
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');
});
test("falsey", function() {
equal(_.falsey(null), true, 'should know that null, undefined and false are not falsey');
equal(_.falsey(undefined), true, 'should know that null, undefined and false are not falsey');
equal(_.falsey(false), true, 'should know that null, undefined and false are not falsey');
equal(_.falsey(1), false, 'should know that everything else is falsey');
equal(_.falsey(0), false, 'should know that everything else is falsey');
equal(_.falsey(-1), false, 'should know that everything else is falsey');
equal(_.falsey(3.14), false, 'should know that everything else is falsey');
equal(_.falsey('undefined'), false, 'should know that everything else is falsey');
equal(_.falsey(''), false, 'should know that everything else is falsey');
equal(_.falsey(NaN), false, 'should know that everything else is falsey');
equal(_.falsey(Infinity), false, 'should know that everything else is falsey');
equal(_.falsey(true), false, 'should know that everything else is falsey');
equal(_.falsey(function(){}), false, 'should know that everything else is falsey');
});
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');
});
});