X-Git-Url: http://git.phpeclipse.com 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 84ead73..69ab8e0 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 @@ -17,11 +17,18 @@ import org.xml.sax.helpers.DefaultHandler; public class XMLReportHandler extends DefaultHandler { - private PHPUnitView view; - + private String currentVerdict; + private PHPUnitView view; private String currentCommand; private String currentTestCount; private String currentTestID; + private String currentTestName; + private String currentTestParentTestSuiteName; + + private void doAsyncRunnable(Runnable runnable) { + + view.getSite().getShell().getDisplay().asyncExec(runnable); + } public void handle(String report, PHPUnitView view) { @@ -34,7 +41,7 @@ public class XMLReportHandler extends DefaultHandler { try { - File file = new File("tmp2.xml"); + File file = new File("tmp3.xml"); FileOutputStream out = null; FileInputStream in = null; out = new FileOutputStream(file); @@ -92,40 +99,54 @@ public class XMLReportHandler extends DefaultHandler { System.out.println(arg0 + " - " + arg1 + " - " + elementName); - if(elementName == "report") { + if(elementName.equals("report")) { currentCommand = attributes.getValue("command"); currentTestCount = attributes.getValue("testCount"); currentTestID = attributes.getValue("testID"); + currentTestName = attributes.getValue("testName"); + currentTestParentTestSuiteName = attributes.getValue("parentTestSuiteName"); - //view.handleCommand(currentCommand, currentTestCount, currentTestID); - - if (currentCommand == "testStarted") { - - //view.createNewTest("testName", currentTestID); - //view.markTestStarted(currentTestID); + doAsyncRunnable(new Runnable() { - } else if (currentCommand == "testFinished") { - - // do nothing wait for verdict - } else if (currentCommand == "endAll") { + public void run() { + + //view.handleCommand(currentCommand, currentTestCount, currentTestID, ); + view.handleCommand(currentCommand, new String[] {currentTestID, currentTestCount, currentTestName, currentTestParentTestSuiteName}); + + } + }); + + } else if (elementName.equals("verdict")) { + + currentVerdict = attributes.getValue("desc"); + //view.setTestVerdict(currentTestID, currentVerdict); + + doAsyncRunnable(new Runnable() { - //view.markTestingFinished(); - } + public void run() { + + view.setTestVerdict(currentTestID, currentVerdict); + } - } else if (elementName == "verdict") { + }); + + } else if (elementName.equals("exceptions")) { - String verdict = attributes.getValue("desc"); + //do nothing -// if( verdict == "passed") -// view.markTestPassed(currentTestID); -// else -// view.markTestFail(currentTestID); + } else if (elementName.equals("exception")) { - } else if (elementName == "exceptions") { + final String exception = attributes.getValue("desc"); + doAsyncRunnable(new Runnable() { + + public void run() { + + view.addTestException(currentTestID, exception); + } - } else if (elementName == "exception") { + }); }