Skip to content

Commit 6bbba97

Browse files
committed
Impl. Expression Language Parser (tests)
1 parent 047ce05 commit 6bbba97

File tree

103 files changed

+847
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+847
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
package fr.adrienbrault.idea.symfony2plugin.tests.expressionLanguage;
2+
3+
import com.intellij.testFramework.ParsingTestCase;
4+
import fr.adrienbrault.idea.symfony2plugin.expressionLanguage.ExpressionLanguageParserDefinition;
5+
6+
public class ExpressionLanguageParsingTest extends ParsingTestCase {
7+
8+
public ExpressionLanguageParsingTest() {
9+
super("", "test", new ExpressionLanguageParserDefinition());
10+
}
11+
12+
public void testNotExpr() {
13+
doTest(true);
14+
}
15+
16+
public void testNotKwExpr() {
17+
doTest(true);
18+
}
19+
20+
public void testUnaryMinus() {
21+
doTest(true);
22+
}
23+
24+
public void testUnaryPlus() {
25+
doTest(true);
26+
}
27+
28+
public void testDivExpr() {
29+
doTest(true);
30+
}
31+
32+
public void testMulExpr() {
33+
doTest(true);
34+
}
35+
36+
public void testModExpr() {
37+
doTest(true);
38+
}
39+
40+
public void testPlusExpr() {
41+
doTest(true);
42+
}
43+
44+
public void testMinusExpr() {
45+
doTest(true);
46+
}
47+
48+
public void testRangeExpr() {
49+
doTest(true);
50+
}
51+
52+
public void testIdenticalExpr() {
53+
doTest(true);
54+
}
55+
56+
public void testNotIdenticalExpr() {
57+
doTest(true);
58+
}
59+
60+
public void testEqExpr() {
61+
doTest(true);
62+
}
63+
64+
public void testNotEqExpr() {
65+
doTest(true);
66+
}
67+
68+
public void testGtExpr() {
69+
doTest(true);
70+
}
71+
72+
public void testGteExpr() {
73+
doTest(true);
74+
}
75+
76+
public void testLtExpr() {
77+
doTest(true);
78+
}
79+
80+
public void testLteExpr() {
81+
doTest(true);
82+
}
83+
84+
public void testNotInExpr() {
85+
doTest(true);
86+
}
87+
88+
public void testInExpr() {
89+
doTest(true);
90+
}
91+
92+
public void testMatchesExpr() {
93+
doTest(true);
94+
}
95+
96+
public void testOrExpr() {
97+
doTest(true);
98+
}
99+
100+
public void testAndExpr() {
101+
doTest(true);
102+
}
103+
104+
public void testBitAndExpr() {
105+
doTest(true);
106+
}
107+
108+
public void testBitOrExpr() {
109+
doTest(true);
110+
}
111+
112+
public void testBitXorExpr() {
113+
doTest(true);
114+
}
115+
116+
public void testExpExpr() {
117+
doTest(true);
118+
}
119+
120+
public void testParenExpr() {
121+
doTest(true);
122+
}
123+
124+
public void testNumberLiteral() {
125+
doTest(true);
126+
}
127+
128+
public void testNumberLiteralWithFraction() {
129+
doTest(true);
130+
}
131+
132+
public void testExponentialNotationLiteral() {
133+
doTest(true);
134+
}
135+
136+
public void testStringDoubleQuoteLiteral() {
137+
doTest(true);
138+
}
139+
140+
public void testEmptyStringDoubleQuoteLiteral() {
141+
doTest(true);
142+
}
143+
144+
public void testStringSingleQuoteLiteral() {
145+
doTest(true);
146+
}
147+
148+
public void testEmptyStringSingleQuoteLiteral() {
149+
doTest(true);
150+
}
151+
152+
public void testTrueLiteral() {
153+
doTest(true);
154+
}
155+
156+
public void testTrueUppercaseLiteral() {
157+
doTest(true);
158+
}
159+
160+
public void testFalseLiteral() {
161+
doTest(true);
162+
}
163+
164+
public void testFalseUppercaseLiteral() {
165+
doTest(true);
166+
}
167+
168+
public void testNullLiteral() {
169+
doTest(true);
170+
}
171+
172+
public void testNullUppercaseLiteral() {
173+
doTest(true);
174+
}
175+
176+
public void testEmptyArrayLiteral() {
177+
doTest(true);
178+
}
179+
180+
public void testArrayLiteral() {
181+
doTest(true);
182+
}
183+
184+
public void testEmptyHashLiteral() {
185+
doTest(true);
186+
}
187+
188+
public void testHashLiteral() {
189+
doTest(true);
190+
}
191+
192+
public void testFunctionCallWithoutArgs() {
193+
doTest(true);
194+
}
195+
196+
public void testFunctionCallWithArgs() {
197+
doTest(true);
198+
}
199+
200+
public void testMethodCallWithoutArgs() {
201+
doTest(true);
202+
}
203+
204+
public void testMethodCallWithArgs() {
205+
doTest(true);
206+
}
207+
208+
public void testTernaryExpr() {
209+
doTest(true);
210+
}
211+
212+
public void testElvisExpr() {
213+
doTest(true);
214+
}
215+
216+
@Override
217+
protected String getTestDataPath() {
218+
return "src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/expressionLanguage/testData";
219+
}
220+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a && b and c
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Expression Language File
2+
ExpressionLanguageAndExprImpl(AND_EXPR)
3+
ExpressionLanguageAndExprImpl(AND_EXPR)
4+
ExpressionLanguageRefExprImpl(REF_EXPR)
5+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
6+
PsiElement( ExpressionLanguageType.id)('a')
7+
PsiWhiteSpace(' ')
8+
PsiElement( ExpressionLanguageType.&&)('&&')
9+
PsiWhiteSpace(' ')
10+
ExpressionLanguageRefExprImpl(REF_EXPR)
11+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
12+
PsiElement( ExpressionLanguageType.id)('b')
13+
PsiWhiteSpace(' ')
14+
PsiElement( ExpressionLanguageType.and)('and')
15+
PsiWhiteSpace(' ')
16+
ExpressionLanguageRefExprImpl(REF_EXPR)
17+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
18+
PsiElement( ExpressionLanguageType.id)('c')
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[1, a, "string", [], [1, 2, 3], {}, { foo: "Foo", bar: "Bar" }]
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
Expression Language File
2+
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
3+
PsiElement( ExpressionLanguageType.[)('[')
4+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
5+
PsiElement( ExpressionLanguageType.number)('1')
6+
PsiElement( ExpressionLanguageType.syntax)(',')
7+
PsiWhiteSpace(' ')
8+
ExpressionLanguageRefExprImpl(REF_EXPR)
9+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
10+
PsiElement( ExpressionLanguageType.id)('a')
11+
PsiElement( ExpressionLanguageType.syntax)(',')
12+
PsiWhiteSpace(' ')
13+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
14+
PsiElement( ExpressionLanguageType.string)('"string"')
15+
PsiElement( ExpressionLanguageType.syntax)(',')
16+
PsiWhiteSpace(' ')
17+
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
18+
PsiElement( ExpressionLanguageType.[)('[')
19+
PsiElement( ExpressionLanguageType.])(']')
20+
PsiElement( ExpressionLanguageType.syntax)(',')
21+
PsiWhiteSpace(' ')
22+
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
23+
PsiElement( ExpressionLanguageType.[)('[')
24+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
25+
PsiElement( ExpressionLanguageType.number)('1')
26+
PsiElement( ExpressionLanguageType.syntax)(',')
27+
PsiWhiteSpace(' ')
28+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
29+
PsiElement( ExpressionLanguageType.number)('2')
30+
PsiElement( ExpressionLanguageType.syntax)(',')
31+
PsiWhiteSpace(' ')
32+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
33+
PsiElement( ExpressionLanguageType.number)('3')
34+
PsiElement( ExpressionLanguageType.])(']')
35+
PsiElement( ExpressionLanguageType.syntax)(',')
36+
PsiWhiteSpace(' ')
37+
ExpressionLanguageHashExprImpl(HASH_EXPR)
38+
PsiElement( ExpressionLanguageType.{)('{')
39+
PsiElement( ExpressionLanguageType.})('}')
40+
PsiElement( ExpressionLanguageType.syntax)(',')
41+
PsiWhiteSpace(' ')
42+
ExpressionLanguageHashExprImpl(HASH_EXPR)
43+
PsiElement( ExpressionLanguageType.{)('{')
44+
PsiWhiteSpace(' ')
45+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
46+
PsiElement( ExpressionLanguageType.id)('foo')
47+
PsiElement( ExpressionLanguageType.syntax)(':')
48+
PsiWhiteSpace(' ')
49+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
50+
PsiElement( ExpressionLanguageType.string)('"Foo"')
51+
PsiElement( ExpressionLanguageType.syntax)(',')
52+
PsiWhiteSpace(' ')
53+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
54+
PsiElement( ExpressionLanguageType.id)('bar')
55+
PsiElement( ExpressionLanguageType.syntax)(':')
56+
PsiWhiteSpace(' ')
57+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
58+
PsiElement( ExpressionLanguageType.string)('"Bar"')
59+
PsiWhiteSpace(' ')
60+
PsiElement( ExpressionLanguageType.})('}')
61+
PsiElement( ExpressionLanguageType.])(']')
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a & b
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Expression Language File
2+
ExpressionLanguageBitAndExprImpl(BIT_AND_EXPR)
3+
ExpressionLanguageRefExprImpl(REF_EXPR)
4+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
5+
PsiElement( ExpressionLanguageType.id)('a')
6+
PsiWhiteSpace(' ')
7+
PsiElement( ExpressionLanguageType.&)('&')
8+
PsiWhiteSpace(' ')
9+
ExpressionLanguageRefExprImpl(REF_EXPR)
10+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
11+
PsiElement( ExpressionLanguageType.id)('b')
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a | b
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Expression Language File
2+
ExpressionLanguageBitOrExprImpl(BIT_OR_EXPR)
3+
ExpressionLanguageRefExprImpl(REF_EXPR)
4+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
5+
PsiElement( ExpressionLanguageType.id)('a')
6+
PsiWhiteSpace(' ')
7+
PsiElement( ExpressionLanguageType.|)('|')
8+
PsiWhiteSpace(' ')
9+
ExpressionLanguageRefExprImpl(REF_EXPR)
10+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
11+
PsiElement( ExpressionLanguageType.id)('b')
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a ^ b
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Expression Language File
2+
ExpressionLanguageBitXorExprImpl(BIT_XOR_EXPR)
3+
ExpressionLanguageRefExprImpl(REF_EXPR)
4+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
5+
PsiElement( ExpressionLanguageType.id)('a')
6+
PsiWhiteSpace(' ')
7+
PsiElement( ExpressionLanguageType.^)('^')
8+
PsiWhiteSpace(' ')
9+
ExpressionLanguageRefExprImpl(REF_EXPR)
10+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
11+
PsiElement( ExpressionLanguageType.id)('b')
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
4 / 2
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Expression Language File
2+
ExpressionLanguageDivExprImpl(DIV_EXPR)
3+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
4+
PsiElement( ExpressionLanguageType.number)('4')
5+
PsiWhiteSpace(' ')
6+
PsiElement( ExpressionLanguageType./)('/')
7+
PsiWhiteSpace(' ')
8+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
9+
PsiElement( ExpressionLanguageType.number)('2')
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a ?: b
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Expression Language File
2+
ExpressionLanguageElvisExprImpl(ELVIS_EXPR)
3+
ExpressionLanguageRefExprImpl(REF_EXPR)
4+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
5+
PsiElement( ExpressionLanguageType.id)('a')
6+
PsiWhiteSpace(' ')
7+
PsiElement( ExpressionLanguageType.syntax)('?')
8+
PsiElement( ExpressionLanguageType.syntax)(':')
9+
PsiWhiteSpace(' ')
10+
ExpressionLanguageRefExprImpl(REF_EXPR)
11+
ExpressionLanguageIdentifierImpl(IDENTIFIER)
12+
PsiElement( ExpressionLanguageType.id)('b')
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Expression Language File
2+
ExpressionLanguageArrayExprImpl(ARRAY_EXPR)
3+
PsiElement( ExpressionLanguageType.[)('[')
4+
PsiElement( ExpressionLanguageType.])(']')

0 commit comments

Comments
 (0)