diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/markers/MarkerSupportViewTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/markers/MarkerSupportViewTest.java
index ada02ad47e2..9661204f5d5 100644
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/markers/MarkerSupportViewTest.java
+++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/markers/MarkerSupportViewTest.java
@@ -25,8 +25,11 @@
import org.eclipse.ui.internal.views.markers.FiltersConfigurationDialog;
import org.eclipse.ui.internal.views.markers.MarkerContentGenerator;
import org.eclipse.ui.tests.harness.util.UITestCase;
+import org.eclipse.ui.views.markers.MarkerField;
import org.eclipse.ui.views.markers.MarkerSupportView;
+import org.eclipse.ui.views.markers.internal.ContentGeneratorDescriptor;
import org.eclipse.ui.views.markers.internal.MarkerMessages;
+import org.eclipse.ui.views.markers.internal.MarkerSupportRegistry;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -125,6 +128,27 @@ public void limitDisabled() throws Exception {
assertFalse(isLimitEnabled);
}
+ @Test
+ public void markerContentGeneratorExtensionLoaded() throws Exception {
+ MarkerSupportView view = (MarkerSupportView) PlatformUI.getWorkbench().getActiveWorkbenchWindow()
+ .getActivePage().showView(PROBLEM_VIEW_ID);
+
+ MarkerContentGenerator generator = getMarkerContentGenerator(view);
+ ContentGeneratorDescriptor descriptor = MarkerSupportRegistry.getInstance()
+ .getContentGenDescriptor(generator.getId());
+ MarkerField[] allFields = descriptor.getAllFields();
+
+ boolean foundAdditionalFieldRegisteredViaExtension = false;
+ for (MarkerField field : allFields) {
+ if (ProblemKeyMarkerField.class.equals(field.getClass())) {
+ foundAdditionalFieldRegisteredViaExtension = true;
+ break;
+ }
+ }
+
+ assertTrue(foundAdditionalFieldRegisteredViaExtension);
+ }
+
public static MarkerContentGenerator getMarkerContentGenerator(MarkerSupportView view) {
MarkerContentGenerator generator = null;
try {
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/markers/ProblemKeyMarkerField.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/markers/ProblemKeyMarkerField.java
new file mode 100644
index 00000000000..cfdcdba4822
--- /dev/null
+++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/markers/ProblemKeyMarkerField.java
@@ -0,0 +1,16 @@
+package org.eclipse.ui.tests.markers;
+
+import org.eclipse.ui.views.markers.MarkerField;
+import org.eclipse.ui.views.markers.MarkerItem;
+
+public class ProblemKeyMarkerField extends MarkerField {
+
+ @Override
+ public String getValue(MarkerItem item) {
+ if (item == null) {
+ return "";
+ }
+ return item.getAttributeValue("problemKey", "");
+ }
+
+}
diff --git a/tests/org.eclipse.ui.tests/plugin.xml b/tests/org.eclipse.ui.tests/plugin.xml
index 3c15b5d245a..5c0ef9a8ebe 100644
--- a/tests/org.eclipse.ui.tests/plugin.xml
+++ b/tests/org.eclipse.ui.tests/plugin.xml
@@ -3411,7 +3411,30 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+