package fr.adrienbrault.idea.symfony2plugin.tests.config.utils; import com.intellij.util.containers.ContainerUtil; import com.jetbrains.php.lang.psi.elements.StringLiteralExpression; import fr.adrienbrault.idea.symfony2plugin.config.utils.ConfigUtil; import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase; import java.io.File; import java.util.Collection; import java.util.Collections; import java.util.Map; /** * @author Daniel Espendiller <daniel@espendiller.net> * @see ConfigUtil#getTreeSignatures */ public class ConfigUtilTest extends SymfonyLightCodeInsightFixtureTestCase { public void setUp() throws Exception { super.setUp(); myFixture.copyFileToProject("ConfigUtilTest.php"); } public String getTestDataPath() { return new File(this.getClass().getResource("fixtures").getFile()).getAbsolutePath(); } /** * @see ConfigUtil#getTreeSignatures */ public void testGetTreeSignatures() { Map<String, Collection<String>> signatures = ConfigUtil.getTreeSignatures(getProject()); assertContainsElements(signatures.get("foobar_root"), "\\Foo\\Bar\\MyConfiguration"); assertContainsElements(signatures.get("foobar_root"), "\\Foo\\Bar\\MyNextConfiguration"); } /** * @see ConfigUtil#getTreeSignatureTargets */ public void testGetTreeSignatureTargetsWithClassFilter() { assertNotNull(ContainerUtil.find(ConfigUtil.getTreeSignatureTargets(getProject(), "foobar_root", Collections.singletonList("\\Foo\\Bar\\MyConfiguration")), psiElement -> psiElement instanceof StringLiteralExpression && ((StringLiteralExpression) psiElement).getContents().equals("foobar_root") )); } /** * @see ConfigUtil#getTreeSignatureTargets */ public void testGetTreeSignatureTargetsWithKeyOnly() { assertNotNull(ContainerUtil.find(ConfigUtil.getTreeSignatureTargets(getProject(), "foobar_root"), psiElement -> psiElement instanceof StringLiteralExpression && ((StringLiteralExpression) psiElement).getContents().equals("foobar_root") )); } }