(bug 40448) Replace legacy mwsuggest with mediawiki.searchSuggest
[lhc/web/wiklou.git] / tests / selenium / SeleniumTestListener.php
1 <?php
2
3 class SeleniumTestListener implements PHPUnit_Framework_TestListener {
4 private $logger;
5 private $tests_ok = 0;
6 private $tests_failed = 0;
7
8 public function __construct( $loggerInstance ) {
9 $this->logger = $loggerInstance;
10 }
11
12 public function addError( PHPUnit_Framework_Test $test, Exception $e, $time ) {
13 $this->logger->write( 'Error: ' . $e->getMessage() );
14 $this->tests_failed++;
15 }
16
17 public function addFailure( PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time )
18 {
19 $this->logger->write( 'Failed: ' . $e->getMessage() );
20 $this->tests_failed++;
21 }
22
23 public function addIncompleteTest( PHPUnit_Framework_Test $test, Exception $e, $time )
24 {
25 $this->logger->write( 'Incomplete.' );
26 $this->tests_failed++;
27 }
28
29 public function addSkippedTest( PHPUnit_Framework_Test $test, Exception $e, $time )
30 {
31 $this->logger->write( 'Skipped.' );
32 $this->tests_failed++;
33 }
34
35 public function startTest( PHPUnit_Framework_Test $test ) {
36 $this->logger->write(
37 'Testing ' . $test->getName() . ' ... ',
38 SeleniumTestSuite::CONTINUE_LINE
39 );
40 }
41
42 public function endTest( PHPUnit_Framework_Test $test, $time ) {
43 if ( !$test->hasFailed() ) {
44 $this->logger->write( 'OK', SeleniumTestSuite::RESULT_OK );
45 $this->tests_ok++;
46 }
47 }
48
49 public function startTestSuite( PHPUnit_Framework_TestSuite $suite ) {
50 $this->logger->write( 'Testsuite ' . $suite->getName() . ' started.' );
51 $this->tests_ok = 0;
52 $this->tests_failed = 0;
53 }
54
55 public function endTestSuite( PHPUnit_Framework_TestSuite $suite ) {
56 $this->logger->write('Testsuite ' . $suite->getName() . ' ended.' );
57 if ( $this->tests_ok > 0 || $this->tests_failed > 0 ) {
58 $this->logger->write( ' OK: ' . $this->tests_ok . ' Failed: ' . $this->tests_failed );
59 }
60 $this->tests_ok = 0;
61 $this->tests_failed = 0;
62 }
63
64 public function statusMessage( $message ) {
65 $this->logger->write( $message );
66 }
67 }
68