OILS / spec / ysh-printing.test.sh View on Github | oilshell.org

131 lines, 83 significant
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
32var x = 1..100
33= x
34## stdout: (Range) 1 .. 100
35
36#### Bash Array
37declare -a array_0=()
38declare -a array_1=(hello)
39declare -a array_3
40array_3[0]="world"
41array_3[2]=*.py
42declare array_long=(Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
43do 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'
55 'ipsum'
56 'dolor'
57 'sit'
58 'amet,'
59 'consectetur'
60 'adipiscing'
61 'elit,'
62 'sed'
63 'do'
64 'eiusmod.'
65)
66## END
67
68#### Bash Assoc
69declare -A assoc_0=()
70declare -A assoc_1=([1]=one)
71declare assoc_3=([1]=one [two]=2 [3]=three)
72declare assoc_long=([Lorem]=ipsum [dolor]="sit amet," ['consectetur adipiscing']="elit, sed" [do]="eiusmod.")
73= assoc_0
74= assoc_1
75= assoc_3
76= assoc_long
77## STDOUT:
78(BashAssoc) (BashAssoc)
79(BashAssoc) (BashAssoc ['1']='one')
80(BashAssoc) (BashAssoc ['1']='one' ['two']='2' ['3']='three')
81(BashAssoc)
82(BashAssoc
83 ['Lorem']='ipsum'
84 ['dolor']='sit amet,'
85 ['consectetur adipiscing']='elit, sed'
86 ['do']='eiusmod.'
87)
88## END
89
90#### Simple Cycles
91var cyclic_array = ["one", "two", "three"]
92setvar cyclic_array[2] = cyclic_array
93var cyclic_dict = {"dead_end": null}
94setvar cyclic_dict["live_end"] = cyclic_dict
95= cyclic_array
96= cyclic_dict
97## STDOUT:
98(List) ["one", "two", [...]]
99(Dict) {dead_end: null, live_end: {...}}
100## END
101
102#### Complex Cycles
103var dict = {}
104setvar dict["nothing"] = null
105var simple_cycle = [["dummy"]]
106setvar simple_cycle[0][0] = simple_cycle
107setvar dict["simple_cycle"] = simple_cycle
108var tricky_cycle = ["dummy"]
109setvar tricky_cycle[0] = dict
110setvar dict["tricky_cycle"] = tricky_cycle
111var dag = [1, 2, "dummy"]
112setvar dag[2] = dag
113setvar dict["dag"] = [dag, dag]
114var alpha = {}
115var omega = {}
116setvar alpha["omega"] = omega
117setvar omega["alpha"] = alpha
118setvar dict["key_alpha"] = alpha
119setvar dict["key_omega"] = omega
120= dict
121## STDOUT:
122(Dict)
123{
124 nothing: null,
125 simple_cycle: [[[...]]],
126 tricky_cycle: [{...}],
127 dag: [[1, 2, [...]], [1, 2, [...]]],
128 key_alpha: {omega: {alpha: {...}}},
129 key_omega: {alpha: {omega: {...}}}
130}
131## END