Skip to content

Commit fdad3a7

Browse files
committed
add yaml pattern tests
1 parent 30ce59a commit fdad3a7

File tree

1 file changed

+156
-0
lines changed

1 file changed

+156
-0
lines changed
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
package fr.adrienbrault.idea.symfony2plugin.tests.config.yaml;
2+
3+
import com.intellij.psi.PsiElement;
4+
import fr.adrienbrault.idea.symfony2plugin.config.yaml.YamlElementPatternHelper;
5+
import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase;
6+
import org.jetbrains.annotations.NotNull;
7+
import org.jetbrains.annotations.Nullable;
8+
9+
/**
10+
* @author Daniel Espendiller <daniel@espendiller.net>
11+
* @see fr.adrienbrault.idea.symfony2plugin.config.yaml.YamlElementPatternHelper
12+
*/
13+
public class YamlElementPatternHelperTest extends SymfonyLightCodeInsightFixtureTestCase {
14+
15+
private String[] dataProviders() {
16+
return new String[] {
17+
" <caret>a\n",
18+
" '<caret>'\n",
19+
" \"<caret>\"\n",
20+
" <caret>a: foo\n",
21+
" '<caret>': foo\n",
22+
" \"<caret>\": foo\n",
23+
};
24+
}
25+
26+
public void testGetOrmRoot() {
27+
for (String s : dataProviders()) {
28+
assertTrue(YamlElementPatternHelper.getOrmRoot().accepts(createCaretElement(
29+
"class\\Foo:\n" + s, "foo.orm.yml"))
30+
);
31+
}
32+
}
33+
34+
public void testGetWithFirstRootKey() {
35+
for (String s : dataProviders()) {
36+
assertTrue(YamlElementPatternHelper.getWithFirstRootKey().accepts(createCaretElement(
37+
"class\\Foo:\n" + s, "foo.orm.yml"))
38+
);
39+
}
40+
}
41+
42+
public void testGetParentKeyName() {
43+
for (String s : dataProviders()) {
44+
assertTrue(YamlElementPatternHelper.getParentKeyName("requirements").accepts(createCaretElement(
45+
"requirements:\n" + s, "foo.orm.yml"))
46+
);
47+
}
48+
}
49+
50+
public void testGetSingleLineScalarKey() {
51+
assertTrue(YamlElementPatternHelper.getSingleLineScalarKey("class").accepts(createCaretElement(
52+
"class: <caret>a"
53+
)));
54+
55+
assertTrue(YamlElementPatternHelper.getSingleLineScalarKey("class").accepts(createCaretElement(
56+
"class: '<caret>'"
57+
)));
58+
59+
assertTrue(YamlElementPatternHelper.getSingleLineScalarKey("class").accepts(createCaretElement(
60+
"class: \"<caret>\""
61+
)));
62+
}
63+
64+
public void testGetOrmParentLookup() {
65+
for (String s : dataProviders()) {
66+
assertTrue(YamlElementPatternHelper.getOrmParentLookup("requirements").accepts(createCaretElement(
67+
"requirements:\n" + s, "foo.orm.yml"))
68+
);
69+
}
70+
}
71+
72+
public void testGetFilterOnPrevParent() {
73+
assertTrue(YamlElementPatternHelper.getFilterOnPrevParent("services").accepts(createCaretElement(
74+
"services:\n" +
75+
" foo:\n" +
76+
" <caret>a: foo\n"
77+
, "foo.orm.yml"))
78+
);
79+
}
80+
81+
public void testGetInsideKeyValue() {
82+
assertTrue(YamlElementPatternHelper.getInsideKeyValue("tags").accepts(createCaretElement(
83+
"services:\n" +
84+
" foo:\n" +
85+
" tags:\n" +
86+
" - { name: <caret>}\n"
87+
))
88+
);
89+
90+
assertTrue(YamlElementPatternHelper.getInsideKeyValue("services").accepts(createCaretElement(
91+
"services:\n" +
92+
" foo:\n" +
93+
" tags:\n" +
94+
" - { name: <caret>}\n"
95+
))
96+
);
97+
}
98+
99+
public void testGetSuperParentArrayKey() {
100+
assertTrue(YamlElementPatternHelper.getSuperParentArrayKey("services").accepts(createCaretElement(
101+
"services:\n" +
102+
" foo:\n" +
103+
" <caret>a\n" +
104+
" car: foo\n"
105+
)));
106+
107+
assertTrue(YamlElementPatternHelper.getSuperParentArrayKey("services").accepts(createCaretElement(
108+
"services:\n" +
109+
" foo:\n" +
110+
" \"<caret>\"\n" +
111+
" car: foo\n"
112+
)));
113+
114+
assertTrue(YamlElementPatternHelper.getSuperParentArrayKey("services").accepts(createCaretElement(
115+
"services:\n" +
116+
" foo:\n" +
117+
" '<caret>'\n" +
118+
" car: foo\n"
119+
)));
120+
121+
assertTrue(YamlElementPatternHelper.getSuperParentArrayKey("services").accepts(createCaretElement(
122+
"services:\n" +
123+
" foo:\n" +
124+
" <caret>a: foo\n"
125+
)));
126+
127+
assertTrue(YamlElementPatternHelper.getSuperParentArrayKey("services").accepts(createCaretElement(
128+
"services:\n" +
129+
" foo:\n" +
130+
" car: foo\n" +
131+
" <caret>a"
132+
)));
133+
134+
assertFalse(YamlElementPatternHelper.getSuperParentArrayKey("services").accepts(createCaretElement(
135+
"service:\n" +
136+
" foo:\n" +
137+
" car: foo\n" +
138+
" <caret>a"
139+
)));
140+
}
141+
142+
private PsiElement createCaretElement(@NotNull String contents) {
143+
return createCaretElement(contents, null);
144+
}
145+
146+
private PsiElement createCaretElement(@NotNull String contents, @Nullable String file) {
147+
if(file == null) {
148+
file = "services.yml";
149+
}
150+
151+
myFixture.configureByText(file, contents);
152+
153+
return myFixture.getFile().findElementAt(myFixture.getCaretOffset());
154+
}
155+
156+
}

0 commit comments

Comments
 (0)