Skip to content

Commit 846fb5b

Browse files
committed
add test for Controller xml and activate yaml completion #386
1 parent c16780b commit 846fb5b

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

META-INF/plugin.xml

+1
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,7 @@ add template annotation usage indexer and add scope to reduce element visiting,
625625
<GotoCompletionRegistrar implementation="fr.adrienbrault.idea.symfony2plugin.doctrine.metadata.DoctrineYamlGotoCompletionRegistrar"/>
626626
<GotoCompletionRegistrar implementation="fr.adrienbrault.idea.symfony2plugin.completion.xml.XmlGotoCompletionRegistrar"/>
627627
<GotoCompletionRegistrar implementation="fr.adrienbrault.idea.symfony2plugin.dic.registrar.DicGotoCompletionRegistrar"/>
628+
<GotoCompletionRegistrar implementation="fr.adrienbrault.idea.symfony2plugin.completion.yaml.YamlGotoCompletionRegistrar"/>
628629

629630
<TwigNamespaceExtension implementation="fr.adrienbrault.idea.symfony2plugin.templating.path.JsonFileIndexTwigNamespaces"/>
630631
<TwigNamespaceExtension implementation="fr.adrienbrault.idea.symfony2plugin.templating.path.ConfigAddPathTwigNamespaces"/>

tests/fr/adrienbrault/idea/symfony2plugin/tests/completion/xml/XmlGotoCompletionRegistrarTest.java

+40
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package fr.adrienbrault.idea.symfony2plugin.tests.completion.xml;
22

33
import com.intellij.ide.highlighter.XmlFileType;
4+
import com.intellij.patterns.PlatformPatterns;
45
import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase;
56

67
import java.io.File;
@@ -16,6 +17,7 @@ public void setUp() throws Exception {
1617
super.setUp();
1718
myFixture.configureByText("config_foo.xml", "<foo/>");
1819
myFixture.copyFileToProject("services.xml");
20+
myFixture.copyFileToProject("routes.xml");
1921
myFixture.copyFileToProject("XmlGotoCompletionRegistrar.php");
2022
}
2123

@@ -78,4 +80,42 @@ public void testThatClassFactoryMethodAttributeProvidesCompletion() {
7880
"create"
7981
);
8082
}
83+
84+
public void testThatRouteInsideRouteDefaultKeyCompletedAndNavigable() {
85+
assertCompletionContains(XmlFileType.INSTANCE, "" +
86+
" <route id=\"root\" path=\"/wp-admin\">\n" +
87+
" <default key=\"route\"><caret></default>\n" +
88+
" </route>",
89+
"foo_route"
90+
);
91+
92+
assertNavigationMatch(XmlFileType.INSTANCE, "" +
93+
" <route id=\"root\" path=\"/wp-admin\">\n" +
94+
" <default key=\"route\">foo_<caret>route</default>\n" +
95+
" </route>"
96+
);
97+
}
98+
99+
public void testThatTemplateInsideRouteDefaultKeyCompletedAndNavigable() {
100+
if(System.getenv("PHPSTORM_ENV") != null) return;
101+
102+
try {
103+
createDummyFiles("app/Resources/views/foo.html.twig");
104+
} catch (Exception e) {
105+
e.printStackTrace();
106+
}
107+
108+
assertCompletionContains(XmlFileType.INSTANCE, "" +
109+
" <route id=\"root\" path=\"/wp-admin\">\n" +
110+
" <default key=\"template\"><caret></default>\n" +
111+
" </route>",
112+
"foo.html.twig"
113+
);
114+
115+
assertNavigationMatch(XmlFileType.INSTANCE, "" +
116+
" <route id=\"root\" path=\"/wp-admin\">\n" +
117+
" <default key=\"template\">foo.ht<caret>ml.twig</default>\n" +
118+
" </route>"
119+
);
120+
}
81121
}

0 commit comments

Comments
 (0)