package fr.adrienbrault.idea.symfony2plugin.tests.routing;
import com.intellij.ide.highlighter.XmlFileType;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.patterns.XmlPatterns;
import com.intellij.psi.PsiFile;
import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase;
import java.io.File;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*
* @see fr.adrienbrault.idea.symfony2plugin.routing.XmlLineMarkerProvider
*/
public class XmlLineMarkerProviderTest extends SymfonyLightCodeInsightFixtureTestCase {
public void setUp() throws Exception {
super.setUp();
myFixture.copyFileToProject("BundleScopeLineMarkerProvider.php");
myFixture.configureByText(
XmlFileType.INSTANCE,
"<routes><import resource=\"@FooBundle/foo.xml\" /></routes>"
);
}
protected String getTestDataPath() {
return new File(this.getClass().getResource("fixtures").getFile()).getAbsolutePath();
}
public void testThatResourceProvidesLineMarkerLineMarker() {
PsiFile psiFile = myFixture.configureByText("foo.xml", "<foo/>");
assertLineMarker(
psiFile,
new LineMarker.ToolTipEqualsAssert("Navigate to resource")
);
assertLineMarker(
psiFile,
new LineMarker.TargetAcceptsPattern("Navigate to resource", XmlPatterns.xmlTag().withName("import").withAttributeValue("resource", "@FooBundle/foo.xml"))
);
}
}