Fixed NullPointerException (problems == null) may occur
[phpeclipse.git] / net.sourceforge.phpeclipse.phpunit / src / net / sourceforge / phpeclipse / phpunit / ProgressInfoComposite.java
index 7d779e4..92e19dd 100644 (file)
@@ -1,11 +1,16 @@
-/*
- * Created on Jul 31, 2004
+/*************************************************************************
+ * @author Ali Echihabi (ali_echihabi@ieee.org, ali.echihabi@souss.ca)
  *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
+ * Plugin for PHP unit Testing.
+ * www.phpeclipse.de
+ * 
+ *************************************************************************/
+
+
 package net.sourceforge.phpeclipse.phpunit;
 
+import net.sourceforge.phpeclipse.phpunit.testpool.TestPool;
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.layout.GridData;
@@ -14,19 +19,15 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.ProgressBar;
 
-/**
- * @author Ali Echihabi
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
+
 public class ProgressInfoComposite extends Composite {
 
 
        private Label labelRuns, labelRunsVal; // Runs: 12
-       private Label labelErrors, labelErrorsVal;
-       private Label labelFailures, labelFailuresVal;
+       private Label labelErrors, labelErrorsImage, labelErrorsVal;
+       private Label labelFailures, labelFailuresImage, labelFailuresVal;
        
+               
        private ProgressBar progressBar;
 
        /**
@@ -53,6 +54,7 @@ public class ProgressInfoComposite extends Composite {
 
                Composite labelsComposite =
                        new Composite(this, SWT.NONE);
+               
                labelsComposite.setLayoutData(
                        new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
 
@@ -63,29 +65,45 @@ public class ProgressInfoComposite extends Composite {
                labelRunsVal = new Label(labelsComposite, SWT.NONE);
                labelRunsVal.setText("0 / 0");
 
+               labelFailuresImage = new Label(labelsComposite, SWT.NONE);
+               labelFailuresImage.setImage(PHPUnitImages.DESC_FAILURE.createImage());
                labelFailures = new Label(labelsComposite, SWT.NONE);
                labelFailures.setText("Failures: ");
                labelFailuresVal = new Label(labelsComposite, SWT.NONE);
                labelFailuresVal.setText("0");
 
+
+               labelErrorsImage = new Label(labelsComposite, SWT.NONE);
+               labelErrorsImage.setImage(PHPUnitImages.DESC_ERROR.createImage());
                labelErrors = new Label(labelsComposite, SWT.NONE);
                labelErrors.setText("Errors: ");
                labelErrorsVal = new Label(labelsComposite, SWT.NONE);
                labelErrorsVal.setText("0");            
        }
 
-       public void updateInfo(int numTests, int numTestsRun, int numFailures, int numErrors) {
+       public void resetInfo() {
+       
+               labelErrorsVal.setText("0");
+               labelFailuresVal.setText("0");
+               labelRunsVal.setText("0 / 0");
+               progressBar.setSelection(0);    
+       
+       }
+
+       public void updateInfo(TestPool testPool) {
+               
+               int numTestsOverall = testPool.getNumTestsOverall();
+               int numTestsRun = testPool.getNumTestsRun();
                
                //update progress bar
-               progressBar.setMaximum(numTests);
+               progressBar.setMaximum(numTestsOverall);
                progressBar.setSelection(numTestsRun);
-               
-               System.out.println("numTestsRun: " + numTestsRun);
+       
        
                //update labels
-               labelRunsVal.setText(numTestsRun + " / " + numTests);
-               labelFailuresVal.setText("" + numFailures);
-               labelErrorsVal.setText("" + numErrors);
+               labelRunsVal.setText(numTestsRun + " / " + numTestsOverall);
+               labelFailuresVal.setText("" + testPool.getNumFailures());
+               labelErrorsVal.setText("" + testPool.getNumErrors());
                
                //TODO: change Failures label to red if some exist.