From 99dd4b271bcf9b8576c1029623a81f25cae96f19 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Sun, 21 May 2017 11:33:01 +0200 Subject: [PATCH 1/2] Select what result printer we should use --- src/FeatureTestListener.php | 1 - src/ResultPrinter.php | 10 ++++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/ResultPrinter.php diff --git a/src/FeatureTestListener.php b/src/FeatureTestListener.php index 18c5dd1..737ef44 100644 --- a/src/FeatureTestListener.php +++ b/src/FeatureTestListener.php @@ -3,7 +3,6 @@ namespace Http\Client\Tests; use PHPUnit\Framework\Test; -use PHPUnit\TextUI\ResultPrinter; class FeatureTestListener extends ResultPrinter { diff --git a/src/ResultPrinter.php b/src/ResultPrinter.php new file mode 100644 index 0000000..790787d --- /dev/null +++ b/src/ResultPrinter.php @@ -0,0 +1,10 @@ + Date: Sun, 21 May 2017 14:04:53 +0200 Subject: [PATCH 2/2] Fixed some issues. --- src/FeatureTestListener.php | 12 +++++------- src/ResultPrinter.php | 28 +++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/FeatureTestListener.php b/src/FeatureTestListener.php index 737ef44..f4a32f5 100644 --- a/src/FeatureTestListener.php +++ b/src/FeatureTestListener.php @@ -2,15 +2,13 @@ namespace Http\Client\Tests; -use PHPUnit\Framework\Test; - -class FeatureTestListener extends ResultPrinter +trait FeatureTestListener { public function write($buffer) { } - public function startTest(Test $test) + protected function doStartTest($test) { $feature = $this->extractFeature($test); @@ -23,7 +21,7 @@ public function startTest(Test $test) echo sprintf('%-40.s : ', $feature); } - public function endTest(Test $test, $time) + protected function doEndTest($test, $time) { if (!$this->lastTestFailed) { echo $this->formatWithColor('fg-green', 'Supported')."\n"; @@ -34,10 +32,10 @@ public function endTest(Test $test, $time) $this->lastTestFailed = false; } - private function extractFeature(Test $test) + private function extractFeature($test) { $class = get_class($test); - $method = $test->getName(); + $method = $test->getName(false); $reflection = new \ReflectionMethod($class, $method); return $this->parseDocBlock($reflection->getDocComment(), '@feature'); diff --git a/src/ResultPrinter.php b/src/ResultPrinter.php index 790787d..7e9d143 100644 --- a/src/ResultPrinter.php +++ b/src/ResultPrinter.php @@ -2,9 +2,31 @@ namespace Http\Client\Tests; +use PHPUnit\Framework\Test; + // If PHPUnit 6 -if (class_exists('\\PHPUnit\\TextUI\\ResultPrinter')) - class ResultPrinter extends PHPUnit\TextUI\ResultPrinter {} +if (class_exists('\\PHPUnit\\TextUI\\ResultPrinter')) { + class ResultPrinter extends \PHPUnit\TextUI\ResultPrinter { + use FeatureTestListener; + public function startTest(Test $test) + { + return $this->doStartTest($test); + } + public function endTest(Test $test, $time) + { + return $this->doEndTest($test, $time); + } + } } else { - class ResultPrinter extends \PHPUnit_TextUI_ResultPrinter {} + class ResultPrinter extends \PHPUnit_TextUI_ResultPrinter { + use FeatureTestListener; + public function startTest(\PHPUnit_Framework_Test $test) + { + return $this->doStartTest($test); + } + public function endTest(\PHPUnit_Framework_Test $test, $time) + { + return $this->doEndTest($test, $time); + } + } }