package fr.adrienbrault.idea.symfony2plugin.tests.asset; import com.jetbrains.twig.TwigFileType; import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase; import java.io.File; /** * @author Daniel Espendiller <daniel@espendiller.net> */ public class AssetGoToDeclarationHandlerTest extends SymfonyLightCodeInsightFixtureTestCase { public void setUp() throws Exception { super.setUp(); createDummyFiles( "web/assets/foo.css", "web/assets/foo.js", "web/foo.js" ); } /** * @see fr.adrienbrault.idea.symfony2plugin.asset.AssetGoToDeclarationHandler */ public void testGotoDeclarationTargetsTag() { if(System.getenv("PHPSTORM_ENV") != null) return; assertNavigationContainsFile(TwigFileType.INSTANCE, "" + "{% javascripts\n" + " 'assets/foo<caret>.js'\n" + "%}", "foo.js" ); assertNavigationContainsFile(TwigFileType.INSTANCE, "" + "{% javascripts\n" + " \"assets/foo<caret>.js\"\n" + "%}", "foo.js" ); assertNavigationContainsFile(TwigFileType.INSTANCE, "" + "{% stylesheets\n" + " 'assets/foo<caret>.css'\n" + "%}", "foo.css" ); assertNavigationContainsFile(TwigFileType.INSTANCE, "" + "{% stylesheets\n" + " \"assets/foo<caret>.css\"\n" + "%}", "foo.css" ); } /** * @see fr.adrienbrault.idea.symfony2plugin.asset.AssetGoToDeclarationHandler */ public void testGotoDeclarationTargetsAsset() { if(System.getenv("PHPSTORM_ENV") != null) return; assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ asset('assets/foo<caret>.css') }}", "foo.css"); assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ asset('assets/foo<caret>.js') }}", "foo.js"); assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ asset(\"assets/foo<caret>.css\") }}", "foo.css"); assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ asset(\"assets/foo<caret>.js\") }}", "foo.js"); assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ absolute_url(\"assets/foo<caret>.css\") }}", "foo.css"); assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ absolute_url('assets/foo<caret>.js') }}", "foo.js"); assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ asset('foo<caret>.js') }}", "foo.js"); } /** * @see fr.adrienbrault.idea.symfony2plugin.asset.AssetGoToDeclarationHandler */ public void testGotoDeclarationTargetsAssetInRoot() { if (System.getenv("PHPSTORM_ENV") != null) return; assertNavigationContainsFile(TwigFileType.INSTANCE, "{{ asset('foo<caret>.js') }}", "foo.js"); } }