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 @@ - + + + + + + + + + + + + + + + + + + + + +