8000 use CASE_INSENSITIVE_ORDER for service container #537 · Koc/idea-php-symfony2-plugin@c2644bd · GitHub
[go: up one dir, main page]

Skip to content

Commit c2644bd

Browse files
committed
use CASE_INSENSITIVE_ORDER for service container Haehnchen#537
1 parent b58daae commit c2644bd

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed

src/fr/adrienbrault/idea/symfony2plugin/stubs/ContainerCollectionResolver.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ public Map<String, ContainerService> getServices() {
165165
return this.services;
166166
}
167167

168-
this.services = new HashMap<String, ContainerService>();
168+
this.services = new TreeMap<String, ContainerService>(String.CASE_INSENSITIVE_ORDER);
169169

170170
if(this.sources.contains(Source.COMPILER)) {
171171
for(Map.Entry<String, String> entry: ServiceXmlParserFactory.getInstance(project, XmlServiceParser.class).getServiceMap().getMap().entrySet()) {
@@ -194,7 +194,7 @@ public Map<String, ContainerService> getServices() {
194194

195195
private Map<String, ContainerService> convertIndexToService(String serviceName, List<String[]> serviceDefinitions) {
196196

197-
Map<String, ContainerService> serviceMap = new HashMap<String, ContainerService>();
197+
Map<String, ContainerService> serviceMap = new TreeMap<String, ContainerService>(String.CASE_INSENSITIVE_ORDER);
198198

199199
for(String[] serviceDefinitionArray: serviceDefinitions) {
200200

@@ -259,7 +259,7 @@ public Set<String> convertClassNameToServices(@NotNull String fqnClassName) {
259259

260260
private Set<String> getNames() {
261261

262-
Set<String> serviceNames = new HashSet<String>();
262+
Set<String> serviceNames = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
263263

264264
if(this.sources.contains(Source.COMPILER)) {
265265
serviceNames.addAll(ServiceXmlParserFactory.getInstance(project, XmlServiceParser.class).getServiceMap().getMap().keySet());
@@ -343,7 +343,7 @@ private Map<String, ContainerParameter> getParameters() {
343343
return this.containerParameterMap;
344344
}
345345

346-
this.containerParameterMap = new HashMap<String, ContainerParameter>();
346+
this.containerParameterMap = new TreeMap<String, ContainerParameter>(String.CASE_INSENSITIVE_ORDER);
347347

348348
if(this.sources.contains(Source.COMPILER)) {
349349
for(Map.Entry<String, String> Entry: ServiceXmlParserFactory.getInstance(project, ParameterServiceParser.class).getParameterMap().entrySet()) {
@@ -384,7 +384,7 @@ private Set<String> getNames() {
384384
return this.containerParameterMap.keySet();
385385
}
386386

387-
Set<String> parameterNames = new HashSet<String>();
387+
Set<String> parameterNames = new TreeSet<String>(String.CAS 8000 E_INSENSITIVE_ORDER);
388388

389389
if(this.sources.contains(Source.COMPILER)) {
390390
parameterNames.addAll(ServiceXmlParserFactory.getInstance(project, ParameterServiceParser.class).getParameterMap().keySet());
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package fr.adrienbrault.idea.symfony2plugin.tests.stubs;
2+
3+
import fr.adrienbrault.idea.symfony2plugin.stubs.ContainerCollectionResolver;
4+
import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase;
5+
import org.jetbrains.yaml.YAMLFileType;
6+
7+
/**
8+
* @author Daniel Espendiller <daniel@espendiller.net>
9+
* @see fr.adrienbrault.idea.symfony2plugin.stubs.ContainerCollectionResolver
10+
*/
11+
public class ContainerCollectionResolverTest extends SymfonyLightCodeInsightFixtureTestCase {
12+
public void setUp() throws Exception {
13+
super.setUp();
14+
15+
myFixture.configureByText(YAMLFileType.YML, "" +
16+
"parameters:\n" +
17+
" bar: foo\n" +
18+
"\n" +
19+
"services:\n" +
20+
" foo:\n" +
21+
" class: DateTime\n"
22+
);
23+
}
24+
25+
public void testCaseInsensitiveService() {
26+
assertEquals("DateTime", ContainerCollectionResolver.getService(getProject(), "foo").getClassName());
27+
assertEquals("DateTime", ContainerCollectionResolver.getService(getProject(), "Foo").getClassName());
28+
assertTrue(ContainerCollectionResolver.hasServiceNames(getProject(), "foo"));
29+
assertTrue(ContainerCollectionResolver.hasServiceNames(getProject(), "Foo"));
30+
}
31+
32+
public void testCaseInsensitiveParameter() {
33+
assertTrue(ContainerCollectionResolver.getParameterNames(getProject()).contains("Bar"));
34+
assertTrue(ContainerCollectionResolver.getParameterNames(getProject()).contains("bar"));
35+
}
36+
}

0 commit comments

Comments
 (0)
0