package fr.adrienbrault.idea.symfony2plugin.tests.templating.util; import fr.adrienbrault.idea.symfony2plugin.templating.dict.TwigExtension; import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigExtensionParser; import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase; import java.io.File; import java.util.Map; /** * @author Daniel Espendiller <daniel@espendiller.net> * @see fr.adrienbrault.idea.symfony2plugin.templating.util.TwigExtensionParser */ public class TwigExtensionParserTest extends SymfonyLightCodeInsightFixtureTestCase { public void setUp() throws Exception { super.setUp(); myFixture.copyFileToProject("twig_extensions.php"); } public String getTestDataPath() { return new File(this.getClass().getResource("fixtures").getFile()).getAbsolutePath(); } public void testExtensionAreCollected() { TwigExtensionParser extensionParser = new TwigExtensionParser(getProject()); assertEquals( "#M#C\\Twig\\Extensions.foobar", extensionParser.getFilters().get("trans").getSignature() ); assertEquals( "#Fmax", extensionParser.getFunctions().get("max").getSignature() ); assertEquals( "SIMPLE_TEST", extensionParser.getSimpleTest().get("my_test").getType() ); assertEquals( "#M#C\\My_Node_Test.compile", extensionParser.getSimpleTest().get("my_test").getSignature() ); assertEquals( "#Ffoo_test", extensionParser.getSimpleTest().get("my_test_2").getSignature() ); assertEquals( "OPERATOR", extensionParser.getOperators().get("not").getType() ); assertEquals( "OPERATOR", extensionParser.getOperators().get("or").getType() ); } public void testExtensionAreCollectedForDeprecated() { TwigExtensionParser extensionParser = new TwigExtensionParser(getProject()); assertEquals( "#M#C\\Symfony\\Bridge\\Twig\\Node\\FormEnctypeNode.compile", extensionParser.getFunctions().get("form_enctype").getSignature() ); assertEquals( "#M#C\\Twig\\Extensions.foobar", extensionParser.getFunctions().get("hwi_oauth_login_url").getSignature() ); assertEquals( "#M#C\\Twig\\Extensions.foobar", extensionParser.getFilters().get("doctrine_minify_query").getSignature() ); assertEquals( "#Ffoobar", extensionParser.getFilters().get("localizeddate").getSignature() ); } }