package org.erlide.test_support.ui.suites;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.erlide.test_support.ui.suites.TestCaseData.FailLocations;
import org.erlide.test_support.ui.suites.TestCaseData.FailReason;
import org.erlide.ui.ErlideImage;
class TestResultsLabelProvider extends LabelProvider {
@Override
public Image getImage(final Object element) {
if (element instanceof TestCaseData) {
final TestCaseData data = (TestCaseData) element;
switch (data.getState()) {
case NOT_RUN:
return null;
case SKIPPED:
return ErlideImage.TEST_SKIPPED.getImage();
case RUNNING:
return ErlideImage.TEST_RUNNING.getImage();
case SUCCESS:
return ErlideImage.TEST_SUCCEEDED.getImage();
case FAILED:
return ErlideImage.TEST_FAILED.getImage();
}
}
return null;
}
@Override
public String getText(final Object element) {
if (element instanceof TestCaseData) {
final TestCaseData data = (TestCaseData) element;
return data.getModule() + " : " + data.getFunction();
} else if (element instanceof FailReason) {
final FailReason reason = (FailReason) element;
return "Failure reason: " + reason.getReason() + " -- "
+ reason.getFirstStackItem().toString();
} else if (element instanceof FailLocations) {
return "Failure locations: ";
}
return element.toString();
}
}