summaryrefslogtreecommitdiff
path: root/maintenance/tests/selenium/SeleniumTestListener.php
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2011-06-22 11:28:20 +0200
committerPierre Schmitz <pierre@archlinux.de>2011-06-22 11:28:20 +0200
commit9db190c7e736ec8d063187d4241b59feaf7dc2d1 (patch)
tree46d1a0dee7febef5c2d57a9f7b972be16a163b3d /maintenance/tests/selenium/SeleniumTestListener.php
parent78677c7bbdcc9739f6c10c75935898a20e1acd9e (diff)
update to MediaWiki 1.17.0
Diffstat (limited to 'maintenance/tests/selenium/SeleniumTestListener.php')
-rw-r--r--maintenance/tests/selenium/SeleniumTestListener.php68
1 files changed, 68 insertions, 0 deletions
diff --git a/maintenance/tests/selenium/SeleniumTestListener.php b/maintenance/tests/selenium/SeleniumTestListener.php
new file mode 100644
index 00000000..9436f672
--- /dev/null
+++ b/maintenance/tests/selenium/SeleniumTestListener.php
@@ -0,0 +1,68 @@
+<?php
+
+class SeleniumTestListener implements PHPUnit_Framework_TestListener {
+ private $logger;
+ private $tests_ok = 0;
+ private $tests_failed = 0;
+
+ public function __construct( $loggerInstance ) {
+ $this->logger = $loggerInstance;
+ }
+
+ public function addError( PHPUnit_Framework_Test $test, Exception $e, $time ) {
+ $this->logger->write( 'Error: ' . $e->getMessage() );
+ $this->tests_failed++;
+ }
+
+ public function addFailure( PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time )
+ {
+ $this->logger->write( 'Failed: ' . $e->getMessage() );
+ $this->tests_failed++;
+ }
+
+ public function addIncompleteTest( PHPUnit_Framework_Test $test, Exception $e, $time )
+ {
+ $this->logger->write( 'Incomplete.' );
+ $this->tests_failed++;
+ }
+
+ public function addSkippedTest( PHPUnit_Framework_Test $test, Exception $e, $time )
+ {
+ $this->logger->write( 'Skipped.' );
+ $this->tests_failed++;
+ }
+
+ public function startTest( PHPUnit_Framework_Test $test ) {
+ $this->logger->write(
+ 'Testing ' . $test->getName() . ' ... ',
+ SeleniumTestSuite::CONTINUE_LINE
+ );
+ }
+
+ public function endTest( PHPUnit_Framework_Test $test, $time ) {
+ if ( !$test->hasFailed() ) {
+ $this->logger->write( 'OK', SeleniumTestSuite::RESULT_OK );
+ $this->tests_ok++;
+ }
+ }
+
+ public function startTestSuite( PHPUnit_Framework_TestSuite $suite ) {
+ $this->logger->write( 'Testsuite ' . $suite->getName() . ' started.' );
+ $this->tests_ok = 0;
+ $this->tests_failed = 0;
+ }
+
+ public function endTestSuite( PHPUnit_Framework_TestSuite $suite ) {
+ $this->logger->write('Testsuite ' . $suite->getName() . ' ended.' );
+ if ( $this->tests_ok > 0 || $this->tests_failed > 0 ) {
+ $this->logger->write( ' OK: ' . $this->tests_ok . ' Failed: ' . $this->tests_failed );
+ }
+ $this->tests_ok = 0;
+ $this->tests_failed = 0;
+ }
+
+ public function statusMessage( $message ) {
+ $this->logger->write( $message );
+ }
+}
+