1 # Pretty printing tests
2
3 #### Int
4 = -123
5 ## stdout: (Int) -123
6
7 #### Float
8 = -0.00
9 ## stdout: (Float) -0.0
10
11 #### Null
12 = null
13 ## stdout: (Null) null
14
15 #### Bool
16 = true
17 = false
18 ## STDOUT:
19 (Bool) true
20 (Bool) false
21 ## END
22
23 #### String
24 = "double quoted"
25 = 'single quoted'
26 ## STDOUT:
27 (Str) 'double quoted'
28 (Str) 'single quoted'
29 ## END
30
31 #### Range
32 var x = 1..100
33 = x
34 ## stdout: (Range) 1 .. 100
35
36 #### Bash Array
37 declare -a array_0=()
38 declare -a array_1=(hello)
39 declare -a array_3
40 array_3[0]="world"
41 array_3[2]=*.py
42 declare array_long=(Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
43 do eiusmod.)
44 = array_0
45 = array_1
46 = array_3
47 = array_long
48 ## STDOUT:
49 (BashArray) (BashArray)
50 (BashArray) (BashArray 'hello')
51 (BashArray) (BashArray 'world' null '*.py')
52 (BashArray)
53 (BashArray
54 'Lorem' 'ipsum' 'dolor' 'sit' 'amet,'
55 'consectetur' 'adipiscing' 'elit,' 'sed' 'do'
56 'eiusmod.'
57 )
58 ## END
59
60 #### Bash Assoc: string formatting
61 declare -A assoc=(['k']=$'foo \x01\u03bc')
62 = assoc
63 ## stdout: (BashAssoc) (BashAssoc ['k']=$'foo \u0001μ')
64
65 #### Bash Assoc
66 declare -A assoc_0=()
67 declare -A assoc_1=([1]=one)
68 declare assoc_3=([1]=one [two]=2 [3]=three)
69 declare assoc_long=([Lorem]=ipsum [dolor]="sit amet," ['consectetur adipiscing']="elit, sed" [do]="eiusmod.")
70 = assoc_0
71 = assoc_1
72 = assoc_3
73 = assoc_long
74 ## STDOUT:
75 (BashAssoc) (BashAssoc)
76 (BashAssoc) (BashAssoc ['1']='one')
77 (BashAssoc) (BashAssoc ['1']='one' ['two']='2' ['3']='three')
78 (BashAssoc)
79 (BashAssoc
80 ['Lorem']='ipsum'
81 ['dolor']='sit amet,'
82 ['consectetur adipiscing']='elit, sed'
83 ['do']='eiusmod.'
84 )
85 ## END
86
87 #### Simple Cycles
88 var cyclic_array = ["one", "two", "three"]
89 setvar cyclic_array[2] = cyclic_array
90 var cyclic_dict = {"dead_end": null}
91 setvar cyclic_dict["live_end"] = cyclic_dict
92 = cyclic_array
93 = cyclic_dict
94 ## STDOUT:
95 (List) ['one', 'two', [...]]
96 (Dict) {dead_end: null, live_end: {...}}
97 ## END
98
99 #### Complex Cycles
100 var dict = {}
101 setvar dict["nothing"] = null
102 var simple_cycle = [["dummy"]]
103 setvar simple_cycle[0][0] = simple_cycle
104 setvar dict["simple_cycle"] = simple_cycle
105 var tricky_cycle = ["dummy"]
106 setvar tricky_cycle[0] = dict
107 setvar dict["tricky_cycle"] = tricky_cycle
108 var dag = [1, 2, "dummy"]
109 setvar dag[2] = dag
110 setvar dict["dag"] = [dag, dag]
111 var alpha = {}
112 var omega = {}
113 setvar alpha["omega"] = omega
114 setvar omega["alpha"] = alpha
115 setvar dict["key_alpha"] = alpha
116 setvar dict["key_omega"] = omega
117 = dict
118 ## STDOUT:
119 (Dict)
120 {
121 nothing: null,
122 simple_cycle: [[[...]]],
123 tricky_cycle: [{...}],
124 dag: [[1, 2, [...]], [1, 2, [...]]],
125 key_alpha: {omega: {alpha: {...}}},
126 key_omega: {alpha: {omega: {...}}}
127 }
128 ## END