X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/PHPUnitView.java b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/PHPUnitView.java index 341c218..1d146a3 100644 --- a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/PHPUnitView.java +++ b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/PHPUnitView.java @@ -4,9 +4,14 @@ package net.sourceforge.phpeclipse.phpunit; import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.ProgressBar; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.part.ViewPart; @@ -67,25 +72,55 @@ public class PHPUnitView extends ViewPart { handler = new XMLReportHandler(); } + + public void createPartControl(Composite parent) { -// //viewer = new TreeViewer(parent); -// labelRuns = new Label(parent, SWT.WRAP); -// labelRuns.setText("Runs: "); -// labelRunsVal = new Label(parent, SWT.WRAP); -// labelRunsVal.setText("0 / 0"); -// -// labelFailures = new Label(parent, SWT.WRAP); -// labelFailures.setText("Failures: "); -// labelFailuresVal = new Label(parent, SWT.WRAP); -// labelFailuresVal.setText("0"); -// -// labelErrors = new Label(parent, SWT.WRAP); -// labelErrors.setText("Errors: "); -// labelErrorsVal = new Label(parent, SWT.WRAP); -// labelErrorsVal.setText("0"); - - reportArea = new Text(parent, SWT.MULTI | SWT.BORDER | + + //layout: + FillLayout fillLayout = new FillLayout(SWT.VERTICAL); + parent.setLayout(fillLayout); + + Group progressInfoComposite = new Group(parent, SWT.SHADOW_ETCHED_IN); + Group resultsInfoComposite = new Group(parent, SWT.NONE); + + + //Build the progress info Composite + progressInfoComposite.setText("Progress:"); + GridLayout gridLayout = new GridLayout(); + gridLayout.numColumns = 1; + + progressInfoComposite.setLayout(gridLayout); + + + ProgressBar progressBar = new ProgressBar(progressInfoComposite, SWT.HORIZONTAL); + progressBar.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL|GridData.FILL_HORIZONTAL)); + + Composite labelsComposite = new Composite(progressInfoComposite, SWT.NONE); + labelsComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL|GridData.FILL_HORIZONTAL)); + + labelsComposite.setLayout(new FillLayout(SWT.HORIZONTAL)); + + labelRuns = new Label(labelsComposite, SWT.NONE); + labelRuns.setText("Runs: "); + labelRunsVal = new Label(labelsComposite, SWT.NONE); + labelRunsVal.setText("0 / 0"); + + labelFailures = new Label(labelsComposite, SWT.NONE); + labelFailures.setText("Failures: "); + labelFailuresVal = new Label(labelsComposite, SWT.NONE); + labelFailuresVal.setText("0"); + + labelErrors = new Label(labelsComposite, SWT.NONE); + labelErrors.setText("Errors: "); + labelErrorsVal = new Label(labelsComposite, SWT.NONE); + labelErrorsVal.setText("0"); + + //Build the result info composite + resultsInfoComposite.setText("Results:"); + resultsInfoComposite.setLayout(fillLayout); + + reportArea = new Text(resultsInfoComposite, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY); startButton = new Button(parent, SWT.CENTER); @@ -111,8 +146,7 @@ public class PHPUnitView extends ViewPart { }); // end add action listener. - - // TODO layout! + } /* (non-Javadoc) @@ -134,22 +168,22 @@ public class PHPUnitView extends ViewPart { //for now: - reportArea.append("test passed \n"); + reportArea.append("test : " + testID + " passed \n"); } public void markTestStarted(String testID) { - reportArea.append("test started \n"); + reportArea.append("test started: " + testID + " \n"); } public void createNewTest(String testName, String testID) { - reportArea.append("new test: " + testName + " - testID \n"); + reportArea.append("new test: " + testName + " - testID " + testID + " \n"); } public void markTestFail(String testID) { - reportArea.append("test failed \n"); + reportArea.append("test " + testID + " failed \n"); } public void markTestingFinished() { @@ -175,12 +209,15 @@ public class PHPUnitView extends ViewPart { } + /** + * + */ private void listenForReports() { ConnectionListener conListener = new ConnectionListener(); - conListener.start(); + conListener.start(this); } //end of method @@ -188,22 +225,62 @@ public class PHPUnitView extends ViewPart { * handle this report: test passed, faile, end of all. * @param report */ - private void handleReport(String report) { - - reportArea.append("msg: " + report + "\n"); - - String event = report.substring(0, report.indexOf(" ")); - - System.out.println(event); + public void handleReport(String report) { + //delegate to the XML report handler. + //reportArea.append("msg: " + report + "\n"); handler.handle(report, this); } + /** + * @param command + * @param testCount + * @param testID + */ public void handleCommand(String command, String testCount, String testID) { + + if (command.equals("testStarted")) { + + createNewTest("testName", testID); + markTestStarted(testID); + + } else if (command.equals("testFinished")) { + + + // do nothing wait for verdict + } else if (command.equals("endAll")) { + + markTestingFinished(); + } + + + } + + /** + * @param currentTestID + * @param verdict + */ + public void setTestVerdict(String currentTestID, String verdict) { + + if( verdict.equals("passed")) + markTestPassed(currentTestID); + else + markTestFail(currentTestID); + + + } + + /** + * @param currentTestID + * @param exception + */ + public void addTestException(String currentTestID, String exception) { + //TODO: decide how to show exceptions. don't show them for now. + //reportArea.append(" test " + currentTestID + " exception: " + exception + "\n"); }