Skip to content

Commit 174aaaf

Browse files
authored
Merge pull request Haehnchen#1610 from adamwojs/issue_1575
Fixed Haehnchen#1575: Inspection "Container sensitivity" is not expected to be emitted for default env values
2 parents 87800f1 + 059d81a commit 174aaaf

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/dic/inspection/CaseSensitivityServiceInspection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public void visitElement(PsiElement psiElement) {
7878
// services and parameter
7979
YamlHelper.processKeysAfterRoot(psiFile, yamlKeyValue -> {
8080
String keyText = yamlKeyValue.getKeyText();
81-
if(StringUtils.isNotBlank(keyText) && !keyText.equals(keyText.toLowerCase()) && !YamlHelper.isClassServiceId(keyText)) {
81+
if(StringUtils.isNotBlank(keyText) && !keyText.equals(keyText.toLowerCase()) && !YamlHelper.isClassServiceId(keyText) && !YamlHelper.isDefaultEnvValue(keyText)) {
8282
PsiElement firstChild = yamlKeyValue.getFirstChild();
8383
if(firstChild != null) {
8484
holder.registerProblem(firstChild, SYMFONY_LOWERCASE_LETTERS_FOR_SERVICE, ProblemHighlightType.WEAK_WARNING);

src/main/java/fr/adrienbrault/idea/symfony2plugin/util/yaml/YamlHelper.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,6 +1032,13 @@ public static boolean isClassServiceId(@NotNull String serviceId) {
10321032
return PhpNameUtil.isValidNamespaceFullName(serviceId, true);
10331033
}
10341034

1035+
/**
1036+
* Returns true if given parameter name is default value for ENV variable.
1037+
*/
1038+
public static boolean isDefaultEnvValue(@NotNull String parameterName) {
1039+
return parameterName.length() > 5 && parameterName.startsWith("env(") && parameterName.endsWith(")");
1040+
}
1041+
10351042
/**
10361043
* service_name:
10371044
* class: FOOBAR

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/dic/inspection/CaseSensitivityServiceInspectionTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ public void testCaseSensitivityForYamlFiles() {
7979
" class: DateTime",
8080
"Symfony: lowercase letters for service and parameter"
8181
);
82+
83+
assertLocalInspectionNotContains("service.yml", "parameters:\n" +
84+
" env(SECRET<caret>): 'some_secret'\n",
85+
"Symfony: lowercase letters for service and parameter"
86+
);
8287
}
8388

8489
public void testCaseSensitivityForYamlExpressionsNotInspected() {

0 commit comments

Comments
 (0)