package com.google.jstestdriver.idea.execution;
import java.util.concurrent.Future;
import com.google.jstestdriver.idea.execution.TestRunnerState.ProcessData;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.testframework.sm.runner.ui.SMTRunnerConsoleView;
import com.intellij.execution.testframework.sm.runner.ui.SMTestRunnerResultsForm;
import static java.util.concurrent.TimeUnit.SECONDS;
/**
* @author Dariusz Kordonski (dariusz.kordonski@googlemail.com)
*/
public final class TestListenerContext {
private final Future<TestRunnerState.ProcessData> processData;
public TestListenerContext(Future<ProcessData> processData) {
this.processData = processData;
}
public SMTestRunnerResultsForm resultsForm() {
return consoleView().getResultsViewer();
}
public SMTRunnerConsoleView consoleView() {
return getData().consoleView;
}
public ProcessHandler processHandler() {
return getData().processHandler;
}
private TestRunnerState.ProcessData getData() {
try {
return processData.get(10, SECONDS);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}