Skip to content

Commit e26755b

Browse files
committed
Tests for primitives
1 parent 176a96c commit e26755b

File tree

4 files changed

+280
-0
lines changed

4 files changed

+280
-0
lines changed

test/syntax/array.vader

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
Given puppet (simple array):
2+
[ 'one', 'two', 'three' ]
3+
4+
Execute (syntax is good):
5+
AssertEqual SyntaxAt(1,1), 'puppetDelimiter'
6+
" TODO: Ideally this should link to a null syntax node.
7+
"AssertEqual SyntaxAt(1,2), 'puppetDelimiter'
8+
AssertEqual SyntaxAt(1,3), 'puppetStringDelimiter'
9+
AssertEqual SyntaxAt(1,4), 'puppetString'
10+
AssertEqual SyntaxAt(1,5), 'puppetString'
11+
AssertEqual SyntaxAt(1,6), 'puppetString'
12+
AssertEqual SyntaxAt(1,7), 'puppetStringDelimiter'
13+
AssertEqual SyntaxAt(1,8), 'puppetOperator'
14+
" TODO: Ideally this should link to a null syntax node.
15+
"AssertEqual SyntaxAt(1,9), 'puppetBracketOperator'
16+
AssertEqual SyntaxAt(1,10), 'puppetStringDelimiter'
17+
AssertEqual SyntaxAt(1,11), 'puppetString'
18+
AssertEqual SyntaxAt(1,12), 'puppetString'
19+
AssertEqual SyntaxAt(1,13), 'puppetString'
20+
AssertEqual SyntaxAt(1,14), 'puppetStringDelimiter'
21+
AssertEqual SyntaxAt(1,15), 'puppetOperator'
22+
" TODO: Ideally this should link to a null syntax node.
23+
"AssertEqual SyntaxAt(1,16), 'puppetBracketOperator'
24+
AssertEqual SyntaxAt(1,17), 'puppetStringDelimiter'
25+
AssertEqual SyntaxAt(1,18), 'puppetString'
26+
AssertEqual SyntaxAt(1,19), 'puppetString'
27+
AssertEqual SyntaxAt(1,20), 'puppetString'
28+
AssertEqual SyntaxAt(1,21), 'puppetString'
29+
AssertEqual SyntaxAt(1,22), 'puppetString'
30+
AssertEqual SyntaxAt(1,23), 'puppetStringDelimiter'
31+
" TODO: Ideally this should link to a null syntax node.
32+
"AssertEqual SyntaxAt(1,24), 'puppetDelimiter'
33+
AssertEqual SyntaxAt(1,25), 'puppetDelimiter'
34+
35+
-------------------------------------------------------------------------------
36+
37+
Given puppet (empty array):
38+
[]
39+
40+
Execute (syntax is good):
41+
AssertEqual SyntaxAt(1,1), 'puppetDelimiter'
42+
AssertEqual SyntaxAt(1,2), 'puppetDelimiter'
43+
44+
-------------------------------------------------------------------------------
45+
46+
Given puppet (nested array):
47+
['foo', [ 1,3] ]
48+
49+
Execute (syntax is good):
50+
AssertEqual SyntaxAt(1,1), 'puppetDelimiter'
51+
AssertEqual SyntaxAt(1,2), 'puppetStringDelimiter'
52+
AssertEqual SyntaxAt(1,3), 'puppetString'
53+
AssertEqual SyntaxAt(1,4), 'puppetString'
54+
AssertEqual SyntaxAt(1,5), 'puppetString'
55+
AssertEqual SyntaxAt(1,6), 'puppetStringDelimiter'
56+
AssertEqual SyntaxAt(1,7), 'puppetOperator'
57+
" TODO: Ideally this should link to a null syntax node.
58+
"AssertEqual SyntaxAt(1,8), 'puppetBracketOperator'
59+
AssertEqual SyntaxAt(1,9), 'puppetDelimiter'
60+
" TODO: Ideally this should link to a null syntax node.
61+
"AssertEqual SyntaxAt(1,10), 'puppetDelimiter'
62+
AssertEqual SyntaxAt(1,11), 'puppetInteger'
63+
AssertEqual SyntaxAt(1,12), 'puppetOperator'
64+
AssertEqual SyntaxAt(1,13), 'puppetInteger'
65+
AssertEqual SyntaxAt(1,14), 'puppetDelimiter'
66+
" TODO: Ideally this should link to a null syntax node.
67+
"AssertEqual SyntaxAt(1,15), 'puppetDelimiter'
68+
AssertEqual SyntaxAt(1,16), 'puppetDelimiter'
69+
70+
-------------------------------------------------------------------------------
71+
72+
Given puppet (array with nested hash):
73+
[1, 2, { 'foo' => 'bar' },]
74+
75+
Execute (syntax is good):
76+
AssertEqual SyntaxAt(1,1), 'puppetDelimiter'
77+
AssertEqual SyntaxAt(1,2), 'puppetInteger'
78+
AssertEqual SyntaxAt(1,3), 'puppetOperator'
79+
" TODO: Ideally this should link to a null syntax node.
80+
"AssertEqual SyntaxAt(1,4), 'puppetBracketOperator'
81+
AssertEqual SyntaxAt(1,5), 'puppetInteger'
82+
AssertEqual SyntaxAt(1,6), 'puppetOperator'
83+
" TODO: Ideally this should link to a null syntax node.
84+
"AssertEqual SyntaxAt(1,7), 'puppetBracketOperator'
85+
AssertEqual SyntaxAt(1,8), 'puppetDelimiter'
86+
" TODO: Ideally this should link to a null syntax node.
87+
"AssertEqual SyntaxAt(1,9), 'puppetDelimiter'
88+
AssertEqual SyntaxAt(1,10), 'puppetStringDelimiter'
89+
AssertEqual SyntaxAt(1,11), 'puppetString'
90+
AssertEqual SyntaxAt(1,12), 'puppetString'
91+
AssertEqual SyntaxAt(1,13), 'puppetString'
92+
AssertEqual SyntaxAt(1,14), 'puppetStringDelimiter'
93+
" TODO: Ideally this should link to a null syntax node.
94+
"AssertEqual SyntaxAt(1,15), 'puppetBraceOperator'
95+
AssertEqual SyntaxAt(1,16), 'puppetOperator'
96+
AssertEqual SyntaxAt(1,17), 'puppetOperator'
97+
" TODO: Ideally this should link to a null syntax node.
98+
"AssertEqual SyntaxAt(1,18), 'puppetBraceOperator'
99+
AssertEqual SyntaxAt(1,19), 'puppetStringDelimiter'
100+
AssertEqual SyntaxAt(1,20), 'puppetString'
101+
AssertEqual SyntaxAt(1,21), 'puppetString'
102+
AssertEqual SyntaxAt(1,22), 'puppetString'
103+
AssertEqual SyntaxAt(1,23), 'puppetStringDelimiter'
104+
" TODO: Ideally this should link to a null syntax node.
105+
"AssertEqual SyntaxAt(1,24), 'puppetDelimiter'
106+
AssertEqual SyntaxAt(1,25), 'puppetDelimiter'
107+
AssertEqual SyntaxAt(1,26), 'puppetOperator'
108+
AssertEqual SyntaxAt(1,27), 'puppetDelimiter'

test/syntax/boolean.vader

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Given puppet (true):
2+
true
3+
4+
Execute (syntax is good):
5+
AssertEqual SyntaxAt(1,1), 'puppetBoolean'
6+
AssertEqual SyntaxAt(1,2), 'puppetBoolean'
7+
AssertEqual SyntaxAt(1,3), 'puppetBoolean'
8+
AssertEqual SyntaxAt(1,4), 'puppetBoolean'
9+
10+
-------------------------------------------------------------------------------
11+
12+
Given puppet (false):
13+
false
14+
15+
Execute (syntax is good):
16+
AssertEqual SyntaxAt(1,1), 'puppetBoolean'
17+
AssertEqual SyntaxAt(1,2), 'puppetBoolean'
18+
AssertEqual SyntaxAt(1,3), 'puppetBoolean'
19+
AssertEqual SyntaxAt(1,4), 'puppetBoolean'
20+
AssertEqual SyntaxAt(1,5), 'puppetBoolean'

test/syntax/number.vader

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
Given puppet (hexidecimal):
2+
0xff
3+
0xabcdef0123456789
4+
0x0
5+
0x123ABC
6+
7+
Execute (syntax is good):
8+
AssertEqual SyntaxAt(1,1), 'puppetInteger'
9+
AssertEqual SyntaxAt(1,2), 'puppetInteger'
10+
AssertEqual SyntaxAt(1,3), 'puppetInteger'
11+
AssertEqual SyntaxAt(1,4), 'puppetInteger'
12+
13+
AssertEqual SyntaxAt(2,1), 'puppetInteger'
14+
AssertEqual SyntaxAt(2,2), 'puppetInteger'
15+
AssertEqual SyntaxAt(2,3), 'puppetInteger'
16+
AssertEqual SyntaxAt(2,4), 'puppetInteger'
17+
AssertEqual SyntaxAt(2,5), 'puppetInteger'
18+
AssertEqual SyntaxAt(2,6), 'puppetInteger'
19+
AssertEqual SyntaxAt(2,7), 'puppetInteger'
20+
AssertEqual SyntaxAt(2,8), 'puppetInteger'
21+
AssertEqual SyntaxAt(2,9), 'puppetInteger'
22+
AssertEqual SyntaxAt(2,10), 'puppetInteger'
23+
AssertEqual SyntaxAt(2,11), 'puppetInteger'
24+
AssertEqual SyntaxAt(2,12), 'puppetInteger'
25+
AssertEqual SyntaxAt(2,13), 'puppetInteger'
26+
AssertEqual SyntaxAt(2,14), 'puppetInteger'
27+
AssertEqual SyntaxAt(2,15), 'puppetInteger'
28+
AssertEqual SyntaxAt(2,16), 'puppetInteger'
29+
AssertEqual SyntaxAt(2,17), 'puppetInteger'
30+
AssertEqual SyntaxAt(2,18), 'puppetInteger'
31+
32+
AssertEqual SyntaxAt(3,1), 'puppetInteger'
33+
AssertEqual SyntaxAt(3,2), 'puppetInteger'
34+
AssertEqual SyntaxAt(3,3), 'puppetInteger'
35+
36+
AssertEqual SyntaxAt(4,1), 'puppetInteger'
37+
AssertEqual SyntaxAt(4,2), 'puppetInteger'
38+
AssertEqual SyntaxAt(4,3), 'puppetInteger'
39+
AssertEqual SyntaxAt(4,4), 'puppetInteger'
40+
AssertEqual SyntaxAt(4,5), 'puppetInteger'
41+
AssertEqual SyntaxAt(4,6), 'puppetInteger'
42+
AssertEqual SyntaxAt(4,7), 'puppetInteger'
43+
AssertEqual SyntaxAt(4,8), 'puppetInteger'
44+
45+
-------------------------------------------------------------------------------
46+
47+
Given puppet (integer):
48+
10
49+
0
50+
-9
51+
10000
52+
53+
Execute (syntax is good):
54+
AssertEqual SyntaxAt(1,1), 'puppetInteger'
55+
AssertEqual SyntaxAt(1,2), 'puppetInteger'
56+
57+
AssertEqual SyntaxAt(2,1), 'puppetInteger'
58+
59+
" TODO: Negative sign is currently preventing the following numbers from
60+
" being recognised.
61+
AssertEqual SyntaxAt(3,1), 'puppetOperator'
62+
"AssertEqual SyntaxAt(3,2), 'puppetInteger'
63+
64+
AssertEqual SyntaxAt(4,1), 'puppetInteger'
65+
AssertEqual SyntaxAt(4,2), 'puppetInteger'
66+
AssertEqual SyntaxAt(4,3), 'puppetInteger'
67+
AssertEqual SyntaxAt(4,4), 'puppetInteger'
68+
AssertEqual SyntaxAt(4,5), 'puppetInteger'
69+
70+
-------------------------------------------------------------------------------
71+
72+
Given puppet (octal):
73+
077
74+
01234567
75+
00
76+
77+
Execute (syntax is good):
78+
AssertEqual SyntaxAt(1,1), 'puppetInteger'
79+
AssertEqual SyntaxAt(1,2), 'puppetInteger'
80+
AssertEqual SyntaxAt(1,3), 'puppetInteger'
81+
82+
AssertEqual SyntaxAt(2,1), 'puppetInteger'
83+
AssertEqual SyntaxAt(2,2), 'puppetInteger'
84+
AssertEqual SyntaxAt(2,3), 'puppetInteger'
85+
AssertEqual SyntaxAt(2,4), 'puppetInteger'
86+
AssertEqual SyntaxAt(2,5), 'puppetInteger'
87+
AssertEqual SyntaxAt(2,6), 'puppetInteger'
88+
AssertEqual SyntaxAt(2,7), 'puppetInteger'
89+
AssertEqual SyntaxAt(2,8), 'puppetInteger'
90+
91+
AssertEqual SyntaxAt(3,1), 'puppetInteger'
92+
AssertEqual SyntaxAt(3,2), 'puppetInteger'
93+
94+
-------------------------------------------------------------------------------
95+
96+
Given puppet (floating point):
97+
+1.0e2
98+
-1.0e-2
99+
1.0
100+
1.0e0
101+
5.2E3
102+
3e5
103+
104+
Execute (syntax is good):
105+
AssertEqual SyntaxAt(1,1), 'puppetOperator'
106+
AssertEqual SyntaxAt(1,2), 'puppetFloat'
107+
AssertEqual SyntaxAt(1,3), 'puppetFloat'
108+
AssertEqual SyntaxAt(1,4), 'puppetFloat'
109+
AssertEqual SyntaxAt(1,5), 'puppetFloat'
110+
AssertEqual SyntaxAt(1,6), 'puppetFloat'
111+
112+
" TODO: Negative sign is currently preventing the following numbers from
113+
" being recognised.
114+
AssertEqual SyntaxAt(2,1), 'puppetOperator'
115+
"AssertEqual SyntaxAt(2,2), 'puppetFloat'
116+
"AssertEqual SyntaxAt(2,3), 'puppetFloat'
117+
"AssertEqual SyntaxAt(2,4), 'puppetFloat'
118+
"AssertEqual SyntaxAt(2,5), 'puppetFloat'
119+
"AssertEqual SyntaxAt(2,6), 'puppetFloat'
120+
"AssertEqual SyntaxAt(2,7), 'puppetFloat'
121+
122+
AssertEqual SyntaxAt(3,1), 'puppetFloat'
123+
AssertEqual SyntaxAt(3,2), 'puppetFloat'
124+
AssertEqual SyntaxAt(3,3), 'puppetFloat'
125+
126+
AssertEqual SyntaxAt(4,1), 'puppetFloat'
127+
AssertEqual SyntaxAt(4,2), 'puppetFloat'
128+
AssertEqual SyntaxAt(4,3), 'puppetFloat'
129+
AssertEqual SyntaxAt(4,4), 'puppetFloat'
130+
AssertEqual SyntaxAt(4,5), 'puppetFloat'
131+
132+
AssertEqual SyntaxAt(5,1), 'puppetFloat'
133+
AssertEqual SyntaxAt(5,2), 'puppetFloat'
134+
AssertEqual SyntaxAt(5,3), 'puppetFloat'
135+
AssertEqual SyntaxAt(5,4), 'puppetFloat'
136+
AssertEqual SyntaxAt(5,5), 'puppetFloat'
137+
138+
AssertEqual SyntaxAt(6,1), 'puppetFloat'
139+
AssertEqual SyntaxAt(6,2), 'puppetFloat'
140+
AssertEqual SyntaxAt(6,3), 'puppetFloat'

test/syntax/regex.vader

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Given puppet (division operation):
2+
$x = $y / 1
3+
4+
Execute (syntax is good):
5+
AssertEqual SyntaxAt(1,6), 'puppetVariable'
6+
AssertEqual SyntaxAt(1,7), 'puppetVariable'
7+
AssertEqual SyntaxAt(1,8), ''
8+
AssertEqual SyntaxAt(1,9), 'puppetOperator'
9+
AssertEqual SyntaxAt(1,10), ''
10+
AssertEqual SyntaxAt(1,11), 'puppetInteger'
11+
12+
-------------------------------------------------------------------------------

0 commit comments

Comments
 (0)