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