package junit.extensions.eclipse.quick.notifications.internal; import java.util.Collections; import org.eclipse.jdt.junit.JUnitCore; import org.eclipse.jdt.junit.TestRunListener; import org.eclipse.jdt.junit.model.ITestElement.Result; import org.eclipse.jdt.junit.model.ITestRunSession; import org.eclipse.mylyn.commons.notifications.core.AbstractNotification; import org.eclipse.mylyn.commons.notifications.ui.NotificationsUi; @SuppressWarnings("restriction") public class TestNotificationListener extends TestRunListener { private static final String QUICK_JUNIT_NOTIFICATION_EVENT_ID = "junit.extensions.eclipse.quick.notifications.event"; public TestNotificationListener() { JUnitCore.addTestRunListener(new org.eclipse.jdt.junit.TestRunListener() { @Override public void sessionFinished(ITestRunSession session) { Result testResult = session.getTestResult(true); AbstractNotification notification = new JUnitNotification(QUICK_JUNIT_NOTIFICATION_EVENT_ID, testResult, session); NotificationsUi.getService().notify(Collections.singletonList(notification)); } }); } public void testEnded(String testId, String testName) { } public void testFailed(int status, String testId, String testName, String trace) { } public void testReran(String testId, String testClass, String testName, int status, String trace) { } public void testRunEnded(long elapsedTime) { } public void testRunStarted(int testCount) { } public void testRunStopped(long elapsedTime) { } public void testRunTerminated() { } public void testStarted(String testId, String testName) { } }