1
+ [
2
+ " # This can also be seen as a test suite for !!" ,
3
+ " # Primitive Truthiness tests" ,
4
+ {
5
+ "description" : " Truthy: true" ,
6
+ "rule" : { "!!" : true },
7
+ "result" : true ,
8
+ "data" : null
9
+ },
10
+ {
11
+ "description" : " Falsey: false" ,
12
+ "rule" : { "!!" : false },
13
+ "result" : false ,
14
+ "data" : null
15
+ },
16
+ {
17
+ "description" : " Truthy: 1" ,
18
+ "rule" : { "!!" : 1 },
19
+ "result" : true ,
20
+ "data" : null
21
+ },
22
+ {
23
+ "description" : " Falsey: 0" ,
24
+ "rule" : { "!!" : 0 },
25
+ "result" : false ,
26
+ "data" : null
27
+ },
28
+ {
29
+ "description" : " Truthy: -1" ,
30
+ "rule" : { "!!" : -1 },
31
+ "result" : true ,
32
+ "data" : null
33
+ },
34
+ {
35
+ "description" : " Falsey: []" ,
36
+ "rule" : { "!!" : [[]] },
37
+ "result" : false ,
38
+ "data" : null
39
+ },
40
+ {
41
+ "description" : " Truthy: {}" ,
42
+ "rule" : { "!!" : [{}] },
43
+ "result" : true ,
44
+ "data" : null
45
+ },
46
+ {
47
+ "description" : " Falsey: ''" ,
48
+ "rule" : { "!!" : " " },
49
+ "result" : false ,
50
+ "data" : null
51
+ },
52
+ {
53
+ "description" : " Falsey: null" ,
54
+ "rule" : { "!!" : null },
55
+ "result" : false ,
56
+ "data" : null
57
+ },
58
+ " # Some error tests" ,
59
+ {
60
+ "description" : " Truthy: NaN" ,
61
+ "rule" : { "!!" : { "error" : " NaN" } },
62
+ "result" : true ,
63
+ "data" : null
64
+ },
65
+ {
66
+ "description" : " Truthy: Arbitrary error" ,
67
+ "rule" : { "!!" : { "error" : " Some error" } },
68
+ "result" : true ,
69
+ "data" : null
70
+ },
71
+ " # Context Object Tests" ,
72
+ {
73
+ "description" : " Truthy: Zero Key Object" ,
74
+ "rule" : { "!!" : { "val" : " obj" } },
75
+ "result" : true ,
76
+ "data" : { "obj" : {} }
77
+ },
78
+ {
79
+ "description" : " Truthy: Single Key Object" ,
80
+ "rule" : { "!!" : { "val" : " obj" } },
81
+ "result" : true ,
82
+ "data" : { "obj" : { "a" : 0 } }
83
+ },
84
+ {
85
+ "description" : " Truthy: Multi Key Object" ,
86
+ "rule" : { "!!" : { "val" : " obj" } },
87
+ "result" : true ,
88
+ "data" : { "obj" : { "a" : 0 , "b" : 0 } }
89
+ },
90
+ {
91
+ "description" : " Truthy: Single Key Object (Empty Key)" ,
92
+ "rule" : { "!!" : { "val" : " obj" } },
93
+ "result" : true ,
94
+ "data" : { "obj" : { "" : 0 } }
95
+ }
96
+ ]
0 commit comments