1
+ [
2
+ " Test Specification for val" ,
3
+ {
4
+ "description" : " Fetches a value from an empty key" ,
5
+ "rule" : { "val" : " " },
6
+ "data" : { "" : 1 },
7
+ "result" : 1
8
+ },
9
+ {
10
+ "description" : " Fetches a value from a nested empty key" ,
11
+ "rule" : { "val" : [" " , " " ] },
12
+ "data" : { "" : { "" : 2 } },
13
+ "result" : 2
14
+ },
15
+ {
16
+ "description" : " Fetches a value from a doubly nested empty key" ,
17
+ "rule" : { "val" : [" " , " " , " " ] },
18
+ "data" : { "" : { "" : { "" : 3 } } },
19
+ "result" : 3
20
+ },
21
+ {
22
+ "description" : " Fetches a value from a key that is purely a dot" ,
23
+ "rule" : { "val" : " ." },
24
+ "data" : { "." : 20 },
25
+ "result" : 20
26
+ },
27
+ {
28
+ "description" : " Fetches the entire context" ,
29
+ "rule" : { "val" : null },
30
+ "data" : { "" : 21 },
31
+ "result" : { "" : 21 }
32
+ },
33
+ {
34
+ "description" : " Fetches the entire context for a nested key" ,
35
+ "rule" : { "val" : " " },
36
+ "data" : { "" : { "" : 22 } },
37
+ "result" : { "" : 22 }
38
+ },
39
+ {
40
+ "description" : " Using val in a map (remember that null gets the current context, not empty string)" ,
41
+ "rule" : { "map" : [[1 ,2 ,3 ], { "+" : [{ "val" : null }, 1 ] }] },
42
+ "data" : null ,
43
+ "result" : [2 ,3 ,4 ]
44
+ },
45
+ {
46
+ "description" : " Using val in a map (and remember [null] and null are the same)" ,
47
+ "rule" : { "map" : [[1 ,2 ,3 ], { "+" : [{ "val" : [null ] }, 1 ] }] },
48
+ "data" : null ,
49
+ "result" : [2 ,3 ,4 ]
50
+ },
51
+ " Testing out scopes" ,
52
+ {
53
+ "description" : " Climb up to get adder" ,
54
+ "rule" : { "map" : [[1 ,2 ,3 ], { "+" : [{ "val" : null }, { "val" : [[-2 ], " adder" ] }] }] },
55
+ "data" : { "adder" : 10 },
56
+ "result" : [11 ,12 ,13 ]
57
+ },
58
+ {
59
+ "description" : " Climb up to get index" ,
60
+ "rule" : { "map" : [[1 ,2 ,3 ], { "+" : [{ "val" : null }, { "val" : [[-1 ], " index" ] }] }] },
61
+ "data" : { "adder" : 10 },
62
+ "result" : [1 ,3 ,5 ]
63
+ },
64
+ {
65
+ "description" : " Nested get adder" ,
66
+ "rule" : {
67
+ "map" : [[" Test" ], { "map" : [[1 ,2 ,3 ], { "+" : [{"val" : null }, {"val" : [[-4 ], " adder" ]}] }]} ]
68
+ },
69
+ "data" : { "adder" : 10 },
70
+ "result" : [[11 ,12 ,13 ]]
71
+ }
72
+ ]
0 commit comments