package fr.adrienbrault.idea.symfony2plugin.tests.routing.inspection; import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase; import java.util.ArrayList; import java.util.Collection; /** * @author Daniel Espendiller <daniel@espendiller.net> * @see fr.adrienbrault.idea.symfony2plugin.routing.inspection.RouteSettingDeprecatedInspection */ public class RouteSettingDeprecatedInspectionTest extends SymfonyLightCodeInsightFixtureTestCase { public void testXmlRequirementsAreDeprecated() { assertLocalInspectionContains("routing.xml", "" + "<route>\n" + "<requirement key=\"_me<caret>thod\">POST|PUT</requirement>\n" + "</route>:\n", "The '_method' requirement is deprecated" ); assertLocalInspectionContains("routing.xml", "" + "<route>\n" + "<requirement key=\"_sch<caret>eme\">https</requirement>\n" + "</route>:\n", "The '_scheme' requirement is deprecated" ); } public void testXmlRoutePatternAreDeprecated() { assertLocalInspectionContains("routing.xml", "" + "<route pat<caret>tern=\"foo\"/>\n", "Pattern is deprecated; use path instead" ); assertLocalInspectionNotContains("routing.xml", "" + "<route pattern=\"f<caret>oo\"/>\n", "Pattern is deprecated; use path instead" ); } public void testYmlRoutePatternAreDeprecated() { assertLocalInspectionContains("routing.yml", "" + "foo:\n" + " pa<caret>ttern: foo", "Pattern is deprecated; use path instead" ); } public void testYmlRequirementsAreDeprecated() { Collection<String[]> providers = new ArrayList<String[]>() {{ add(new String[] {"_m<caret>ethod: foo", "The '_method' requirement is deprecated"}); add(new String[] {"'_m<caret>ethod': foo", "The '_method' requirement is deprecated"}); add(new String[] {"\"_m<caret>ethod\": foo", "The '_method' requirement is deprecated"}); add(new String[] {"'_sch<caret>eme': foo", "The '_scheme' requirement is deprecated"}); }}; for (String[] s : providers) { assertLocalInspectionContains("routing.yml", "" + "foo:\n" + " requirements: { " + s[0] + " }", s[1] ); assertLocalInspectionContains("routing.yml", "" + "foo:\n" + " requirements:\n" + " " + s[0] + "\n", s[1] ); } assertLocalInspectionNotContains("routing.yml", "" + "foo:\n" + " bar: { _m<caret>ethod: foo }", "The '_method' requirement is deprecated" ); } }