package fr.adrienbrault.idea.symfony2plugin.tests.util;
import com.jetbrains.php.lang.documentation.phpdoc.psi.tags.PhpDocTag;
import com.jetbrains.php.lang.psi.PhpPsiElementFactory;
import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase;
import fr.adrienbrault.idea.symfony2plugin.util.AnnotationBackportUtil;
public class AnnotationBackportUtilTest extends SymfonyLightCodeInsightFixtureTestCase {
/**
* @see AnnotationBackportUtil#getAnnotationRouteName
*/
public void testAnnotationRouteName() {
assertEquals("my_page_so_good", AnnotationBackportUtil.getAnnotationRouteName("\"/my/page/so-good\", name=\"my_page_so_good\""));
assertEquals("my.page.so.good", AnnotationBackportUtil.getAnnotationRouteName("\"/my/page/so-good\", name=\"my.page.so.good\""));
assertEquals("my-page.so_good", AnnotationBackportUtil.getAnnotationRouteName("\"/my/page/so-good\", name=\"my-page.so_good\""));
}
/**
* @see AnnotationBackportUtil#getDefaultOrPropertyContents
*/
public void testGetDefaultOrProperty() {
PhpDocTag fromText = PhpPsiElementFactory.createFromText(getProject(), PhpDocTag.class, "<?php\n" +
"/**\n" +
"* @Template(\"foobar.html.twig\")\n" +
"*/\n"
);
assertNotNull(fromText);
assertEquals("foobar.html.twig", AnnotationBackportUtil.getDefaultOrPropertyContents(fromText, "foobar"));
fromText = PhpPsiElementFactory.createFromText(getProject(), PhpDocTag.class, "<?php\n" +
"/**\n" +
"* @Template(foobar=\"foobar.html.twig\")\n" +
"*/\n"
);
assertNotNull(fromText);
assertEquals("foobar.html.twig", AnnotationBackportUtil.getDefaultOrPropertyContents(fromText, "foobar"));
fromText = PhpPsiElementFactory.createFromText(getProject(), PhpDocTag.class, "<?php\n" +
"/**\n" +
"* @Template(test={}, car=\"\"," +
" foobar=\"foobar.html.twig\")\n" +
"*/\n"
);
assertNotNull(fromText);
assertEquals("foobar.html.twig", AnnotationBackportUtil.getDefaultOrPropertyContents(fromText, "foobar"));
}
}