From: shleh Date: Sat, 18 Sep 2004 02:56:32 +0000 (+0000) Subject: corrected the number of tests expected in progress view. Added toolbar actions to... X-Git-Url: http://secure.phpeclipse.com?hp=a8baaf8da47ce3c580a814ded602de8949f1631e corrected the number of tests expected in progress view. Added toolbar actions to select a test suite and run it. --- 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 1f16ca6..656610d 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 @@ -6,6 +6,8 @@ import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; import net.sourceforge.phpeclipse.phpunit.testpool.TestCase; import net.sourceforge.phpeclipse.phpunit.testpool.TestPool; @@ -13,6 +15,7 @@ import net.sourceforge.phpeclipse.phpunit.testpool.TestSuite; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; @@ -22,6 +25,8 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IActionBars; import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; @@ -68,7 +73,7 @@ public class PHPUnitView extends ViewPart { private TestPool testPool; - private Button startButton; + //private Button startButton; private ProgressInfoComposite progressInfoComposite; private ResultsInfoComposite resultsInfoComposite; @@ -119,33 +124,33 @@ public class PHPUnitView extends ViewPart { settingsInfoComposite = new SettingsInfoComposite(parent, SWT.NONE); - startButton = new Button(parent, SWT.CENTER); - startButton.setText("Start Tests"); - startButton.addMouseListener(new MouseListener() { - - public void mouseDoubleClick(MouseEvent arg0) { - - } - - public void mouseDown(MouseEvent arg0) { - - - - } - - public void mouseUp(MouseEvent arg0) { - - try { - String testFile = settingsInfoComposite.getTestSuite(); - startTests(testFile); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - - }); // end add action listener. +// startButton = new Button(parent, SWT.CENTER); +// startButton.setText("Start Tests"); +// startButton.addMouseListener(new MouseListener() { +// +// public void mouseDoubleClick(MouseEvent arg0) { +// +// } +// +// public void mouseDown(MouseEvent arg0) { +// +// try { +// String testFile = settingsInfoComposite.getTestSuite(); +// startTests(testFile); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// +// } +// +// public void mouseUp(MouseEvent arg0) { +// +// +// } +// +// }); // end add action listener. } @@ -177,24 +182,63 @@ public class PHPUnitView extends ViewPart { private void setActions() { final IActionBars actionBars = getViewSite().getActionBars(); IToolBarManager toolBarManager = actionBars.getToolBarManager(); - Action action1 = new Action() {}; - action1.setText("Action 1"); - action1.setToolTipText("Start the testing"); - //final URL installUrl = PaintPlugin.getDefault().getDescriptor().getInstallURL(); - //final URL imageUrl = new URL(installUrl, PaintPlugin.getResourceString(id + ".image")); -// URL imageUrl = null; -// try { -// imageUrl = -// new URL("C:\\sample.gif"); -// } catch (MalformedURLException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// action1.setImageDescriptor(ImageDescriptor.createFromURL(imageUrl)); -// - action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages(). - getImageDescriptor(ISharedImages.IMG_OBJS_TASK_TSK)); - toolBarManager.add(action1); + + String iconsPath = "C:\\Documents and Settings\\Ali Echihabi\\My Documents\\workspace.eclipse2.1\\net.sourceforge.phpeclipse.phpunit\\icons"; + + ImageDescriptor descriptor = null; + String icon = ""; + + Action selectTestAction = new Action() { + + public void run() { + + settingsInfoComposite.showFileDialog(); + } + }; + selectTestAction.setText("Select Test Suite"); + selectTestAction.setToolTipText("Select Test Suite"); + try { + icon = "tsuite.gif"; + descriptor = ImageDescriptor.createFromURL(new URL("file://" + iconsPath + "//" + icon)); + selectTestAction.setImageDescriptor(descriptor); + } catch (MalformedURLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + toolBarManager.add(selectTestAction); + + + Action startTestAction = new Action() { + + public void run() { + + String testFile = settingsInfoComposite.getTestSuite(); + try { + startTests(testFile); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + }; + startTestAction.setText("Start Test"); + startTestAction.setToolTipText("Start Test Suite"); + + try { + icon = "start.gif"; + descriptor = ImageDescriptor.createFromURL(new URL("file://" + iconsPath + "//" + icon)); + startTestAction.setImageDescriptor(descriptor); + } catch (MalformedURLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + toolBarManager.add(startTestAction); } @@ -221,16 +265,6 @@ public class PHPUnitView extends ViewPart { } - private void markTestStarted(String testID) { - - - - } - - private void createNewTest(String testName, String testID) { - - testPool.addTest(new TestCase(testName, testID)); - } private void markTestFail(String testID) { @@ -238,20 +272,6 @@ public class PHPUnitView extends ViewPart { } - private void markTestingStarted(int numTestsToBeRun) { - - - //reportArea.append("Tests started expecting: " + numTests + " \n"); - - } - - private void markTestingFinished() { - - - //reportArea.append("end all tests \n"); - - } - // action to start tests: public void startTests() throws IOException { @@ -280,11 +300,15 @@ public class PHPUnitView extends ViewPart { //testSuite: the name of the file containing the suite we want to run. // we will put that test suite inside a contained that uses our SocketResult. - - + //reset from previous run reset(); + + testSuite = testSuite.replaceAll("\\\\", "/"); + + System.out.println("new: " + testSuite); + //where the plugin's temp files should go String tempFolder = "C:\\tmp"; String tempFileName = "temTest.php"; @@ -299,10 +323,10 @@ public class PHPUnitView extends ViewPart { out.write("include_once $path . \"/socketTestResult.php\";" + "\n"); //include the test suite that we want to run. - String testSuiteName = "ManyFailingTests2"; - String testSuitePath = "C:/eclipse/eclipse/runtime-workspace/PHPProject/testSuite.php"; - - out.write("include_once(\"" + testSuitePath + "\");" + "\n"); + String testSuiteName = ""; + testSuiteName = testSuite.substring(testSuite.lastIndexOf('/') + 1, testSuite.lastIndexOf('.')); + + out.write("include_once(\"" + testSuite + "\");" + "\n"); out.write("" + "\n"); @@ -391,26 +415,26 @@ public class PHPUnitView extends ViewPart { if (command.equals("startAll")) { - markTestingStarted(new Integer(testCount).intValue()); + //markTestingStarted(new Integer(testCount).intValue()); } else if (command.equals("testSuiteStarted")) { - createNewTestSuite("TestSuiteName: " + testID, testID, new Integer(testCount).intValue()); - markTestSuiteStarted(testID); + //createNewTestSuite("TestSuiteName: " + testID, testID, new Integer(testCount).intValue()); + TestSuite suite = new TestSuite("TestSuiteName: " + testID, testID, new Integer(testCount).intValue()); + testPool.addTestSuite(suite); } else if (command.equals("testStarted")) { - createNewTest("TestName: " + testID, testID); - markTestStarted(testID); + testPool.addTest(new TestCase("TestName: " + testID, testID)); } else if (command.equals("testFINISHED")) { - markTestFinished(); + } else if (command.equals("endAll")) { - markTestingFinished(); + } @@ -431,41 +455,6 @@ public class PHPUnitView extends ViewPart { } - /** - * @param testID - */ - private void markTestSuiteStarted(String testID) { - // TODO Auto-generated method stub - - } - - /** - * @param string - * @param testID - * @param testCount - */ - private void createNewTestSuite(String name, String testID, int testCount) { - - TestSuite suite = new TestSuite(name, testID, testCount); - testPool.addTestSuite(suite); - - } - - /** - * - */ - private void markTestFinished() { - - - } - - /** - * - */ - private void updateResultsInfo() { - // TODO Auto-generated method stub - - } /** * @param currentTestID @@ -491,4 +480,5 @@ public class PHPUnitView extends ViewPart { } + } //end of class diff --git a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/ProgressInfoComposite.java b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/ProgressInfoComposite.java index 3781fde..488bd01 100644 --- a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/ProgressInfoComposite.java +++ b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/ProgressInfoComposite.java @@ -85,25 +85,6 @@ public class ProgressInfoComposite extends Composite { } - public void updateInfo(int numTests, int numTestsRun, int numFailures, int numErrors) { - - //update progress bar - progressBar.setMaximum(numTests); - progressBar.setSelection(numTestsRun); - - - //update labels - labelRunsVal.setText(numTestsRun + " / " + numTests); - labelFailuresVal.setText("" + numFailures); - labelErrorsVal.setText("" + numErrors); - - //TODO: change Failures label to red if some exist. - - - - } - - public void updateInfo(TestPool testPool) { int numTestsOverall = testPool.getNumTestsOverall(); diff --git a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/SettingsInfoComposite.java b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/SettingsInfoComposite.java index 1babb56..caf1d04 100644 --- a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/SettingsInfoComposite.java +++ b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/SettingsInfoComposite.java @@ -69,6 +69,18 @@ public class SettingsInfoComposite extends Composite { return testSuitePath; } + + + /** + * + */ + protected void showFileDialog() { + + testSuitePath = dialog.open(); + System.out.println("file: " + testSuitePath); + + + } diff --git a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/XMLReportHandler.java b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/XMLReportHandler.java index 2f8b5aa..c81e518 100644 --- a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/XMLReportHandler.java +++ b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/XMLReportHandler.java @@ -108,8 +108,7 @@ public class XMLReportHandler extends DefaultHandler { public void run() { view.handleCommand(currentCommand, currentTestCount, currentTestID); - } - + } }); } else if (elementName.equals("verdict")) { diff --git a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/testpool/TestPool.java b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/testpool/TestPool.java index 008cb3d..a8e5e6c 100644 --- a/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/testpool/TestPool.java +++ b/net.sourceforge.phpeclipse.phpunit/src/net/sourceforge/phpeclipse/phpunit/testpool/TestPool.java @@ -31,8 +31,7 @@ public class TestPool { public TestPool(String rootTitle) { tests = new HashMap(); - root = new TestSuite(rootTitle, "-1", 0); - + root = null; currentTestSuite = root; } @@ -62,11 +61,19 @@ public class TestPool { */ public void addTestSuite(TestSuite suite) { - //add as sibling - currentTestSuite.addTestSuite(suite); - suite.setParent(currentTestSuite); - - currentTestSuite = suite; + + if(root == null) { + root = suite; + } + else { + + //add as sibling + currentTestSuite.addTestSuite(suite); + suite.setParent(currentTestSuite); + + } + + currentTestSuite = suite; } /** @@ -107,22 +114,28 @@ public class TestPool { } - private int countSuiteExpectedTests(TestSuite suite) { - - int total = 0; - - total += suite.getNumTestCasesExpected(); - - for(int i = 0; i < suite.getTestSuites().size(); i++) - total += countSuiteExpectedTests((TestSuite) suite.getTestSuites().elementAt(i)); - - return total; - - } +// This recursion is done at the php side (report generation) + +// private int countSuiteExpectedTests(TestSuite suite) { +// +// int total = 0; +// +// total += suite.getNumTestCasesExpected(); +// +// for(int i = 0; i < suite.getTestSuites().size(); i++) +// total += countSuiteExpectedTests((TestSuite) suite.getTestSuites().elementAt(i)); +// +// System.out.println("total: " + total); +// +// return total; +// +// } public int getNumTestsOverall() { - return countSuiteExpectedTests(root); + int total = root.getNumTestCasesExpected(); + System.out.println("total: " + total); + return total; }