Merge "Move post-edit font-family rule to Vector-specific selector"
[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 $this->logger->write( 'Failed: ' . $e->getMessage() );
19 $this->tests_failed++;
20 }
21
22 public function addIncompleteTest( PHPUnit_Framework_Test $test, Exception $e, $time ) {
23 $this->logger->write( 'Incomplete.' );
24 $this->tests_failed++;
25 }
26
27 public function addSkippedTest( PHPUnit_Framework_Test $test, Exception $e, $time ) {
28 $this->logger->write( 'Skipped.' );
29 $this->tests_failed++;
30 }
31
32 public function startTest( PHPUnit_Framework_Test $test ) {
33 $this->logger->write(
34 'Testing ' . $test->getName() . ' ... ',
35 SeleniumTestSuite::CONTINUE_LINE
36 );
37 }
38
39 public function endTest( PHPUnit_Framework_Test $test, $time ) {
40 if ( !$test->hasFailed() ) {
41 $this->logger->write( 'OK', SeleniumTestSuite::RESULT_OK );
42 $this->tests_ok++;
43 }
44 }
45
46 public function startTestSuite( PHPUnit_Framework_TestSuite $suite ) {
47 $this->logger->write( 'Testsuite ' . $suite->getName() . ' started.' );
48 $this->tests_ok = 0;
49 $this->tests_failed = 0;
50 }
51
52 public function endTestSuite( PHPUnit_Framework_TestSuite $suite ) {
53 $this->logger->write( 'Testsuite ' . $suite->getName() . ' ended.' );
54 if ( $this->tests_ok > 0 || $this->tests_failed > 0 ) {
55 $this->logger->write( ' OK: ' . $this->tests_ok . ' Failed: ' . $this->tests_failed );
56 }
57 $this->tests_ok = 0;
58 $this->tests_failed = 0;
59 }
60
61 public function statusMessage( $message ) {
62 $this->logger->write( $message );
63 }
64 }
65