2 if ( !defined( 'MEDIAWIKI' ) ||
!defined( 'SELENIUMTEST' ) ) {
3 echo "This script cannot be run standalone";
7 class SeleniumTestListener
implements PHPUnit_Framework_TestListener
{
10 private $tests_failed = 0;
12 public function __construct( $loggerInstance ) {
13 $this->logger
= $loggerInstance;
16 public function addError( PHPUnit_Framework_Test
$test, Exception
$e, $time ) {
17 $this->logger
->write( 'Error: ' . $e->getMessage() );
18 $this->tests_failed++
;
21 public function addFailure( PHPUnit_Framework_Test
$test, PHPUnit_Framework_AssertionFailedError
$e, $time )
23 $this->logger
->write( 'Failed: ' . $e->getMessage() );
24 $this->tests_failed++
;
27 public function addIncompleteTest( PHPUnit_Framework_Test
$test, Exception
$e, $time )
29 $this->logger
->write( 'Incomplete.' );
30 $this->tests_failed++
;
33 public function addSkippedTest( PHPUnit_Framework_Test
$test, Exception
$e, $time )
35 $this->logger
->write( 'Skipped.' );
36 $this->tests_failed++
;
39 public function startTest( PHPUnit_Framework_Test
$test ) {
41 'Testing ' . $test->getName() . ' ... ',
42 MW_TESTLOGGER_CONTINUE_LINE
46 public function endTest( PHPUnit_Framework_Test
$test, $time ) {
47 if ( !$test->hasFailed() ) {
48 $this->logger
->write( 'OK', MW_TESTLOGGER_RESULT_OK
);
53 public function startTestSuite( PHPUnit_Framework_TestSuite
$suite ) {
54 $this->logger
->write( 'Testsuite ' . $suite->getName() . ' started.' );
58 public function endTestSuite( PHPUnit_Framework_TestSuite
$suite ) {
60 'Testsuite ' . $suite->getName() . ' ended. OK: ' .
61 $this->tests_ok
. ' Failed: ' . $this->tests_failed
65 public function statusMessage( $message ) {
66 $this->logger
->write( $message );