Fixed bug 66220 - org.eclipse.core.runtime.contentTypes doesn't allow whitespace in lists
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/content/ContentType.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/content/ContentType.java
index 0bebb46..e4ef1d0 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/content/ContentType.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/content/ContentType.java
@@ -122,13 +122,13 @@
StringTokenizer tokenizer = new StringTokenizer(string, ","); //$NON-NLS-1$
if (!tokenizer.hasMoreTokens())
return new String[0];
- String first = tokenizer.nextToken();
+ String first = tokenizer.nextToken().trim();
if (!tokenizer.hasMoreTokens())
return new String[] {first};
ArrayList items = new ArrayList();
items.add(first);
do {
- items.add(tokenizer.nextToken());
+ items.add(tokenizer.nextToken().trim());
} while (tokenizer.hasMoreTokens());
return (String[]) items.toArray(new String[items.size()]);
}
diff --git a/tests/org.eclipse.core.tests.runtime/plugin.xml b/tests/org.eclipse.core.tests.runtime/plugin.xml
index 8109612..0d88c2c 100644
--- a/tests/org.eclipse.core.tests.runtime/plugin.xml
+++ b/tests/org.eclipse.core.tests.runtime/plugin.xml
@@ -40,7 +40,8 @@
<content-type
name="My Content Type"
id="myContent"
- file-names="myContent.mc"
+ file-names=" myContent.mc1 , myContent.mc2 "
+ file-extensions=" myContent1, myContent2 "
describer="org.eclipse.core.tests.runtime.content.MyContentDescriber"/>
<!-- A base type and a sub-type are in conflict. Base type should be picked. -->
<content-type
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/content/IContentTypeManagerTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/content/IContentTypeManagerTest.java
index 25913ce..cd3f8dd 100644
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/content/IContentTypeManagerTest.java
+++ b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/content/IContentTypeManagerTest.java
@@ -417,8 +417,11 @@
IContentTypeManager manager = Platform.getContentTypeManager();
IContentType myContent = manager.getContentType(RuntimeTestsPlugin.PI_RUNTIME_TESTS + '.' + "myContent");
assertNotNull("0.5", myContent);
- assertEquals("0.6", myContent, manager.findContentTypeFor("myContent.mc"));
- IContentDescription description = manager.getDescriptionFor(getInputStream(MyContentDescriber.SIGNATURE, "US-ASCII"), "myContent.mc", IContentDescription.ALL);
+ assertEquals("0.6", myContent, manager.findContentTypeFor("myContent.mc1"));
+ assertEquals("0.7", myContent, manager.findContentTypeFor("myContent.mc2"));
+ assertEquals("0.8", myContent, manager.findContentTypeFor("foo.myContent1"));
+ assertEquals("0.9", myContent, manager.findContentTypeFor("bar.myContent2"));
+ IContentDescription description = manager.getDescriptionFor(getInputStream(MyContentDescriber.SIGNATURE, "US-ASCII"), "myContent.mc1", IContentDescription.ALL);
assertNotNull("1.0", description);
assertEquals("1.1", myContent, description.getContentType());
assertTrue("1.2", !(description instanceof DefaultDescription));