From 81ddd29551fbf37ea486b794f0f1411ab4485464 Mon Sep 17 00:00:00 2001 From: Aydin Hassan Date: Sun, 8 Jan 2023 20:24:13 +0100 Subject: [PATCH] Allow a result group to report whether a child result is a success or not --- src/Result/Cgi/CgiResult.php | 6 ++++++ src/Result/Cli/CliResult.php | 6 ++++++ src/Result/ResultGroupInterface.php | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/Result/Cgi/CgiResult.php b/src/Result/Cgi/CgiResult.php index 7661aad9..12b570af 100644 --- a/src/Result/Cgi/CgiResult.php +++ b/src/Result/Cgi/CgiResult.php @@ -7,6 +7,7 @@ use ArrayIterator; use IteratorAggregate; use PhpSchool\PhpWorkshop\Result\ResultGroupInterface; +use PhpSchool\PhpWorkshop\Result\ResultInterface as BaseResult; /** * A result which encompasses all the results for each individual request made during @@ -85,4 +86,9 @@ public function getIterator(): ArrayIterator { return new ArrayIterator($this->results); } + + public function isResultSuccess(BaseResult $result): bool + { + return $result instanceof SuccessInterface; + } } diff --git a/src/Result/Cli/CliResult.php b/src/Result/Cli/CliResult.php index 178a24ca..af33c959 100644 --- a/src/Result/Cli/CliResult.php +++ b/src/Result/Cli/CliResult.php @@ -7,6 +7,7 @@ use ArrayIterator; use IteratorAggregate; use PhpSchool\PhpWorkshop\Result\ResultGroupInterface; +use PhpSchool\PhpWorkshop\Result\ResultInterface as BaseResult; /** * A result which encompasses all the results for each individual execution made during @@ -85,4 +86,9 @@ public function getIterator(): ArrayIterator { return new ArrayIterator($this->results); } + + public function isResultSuccess(BaseResult $result): bool + { + return $result instanceof SuccessInterface; + } } diff --git a/src/Result/ResultGroupInterface.php b/src/Result/ResultGroupInterface.php index e318ee63..891b3e00 100644 --- a/src/Result/ResultGroupInterface.php +++ b/src/Result/ResultGroupInterface.php @@ -18,4 +18,6 @@ public function isSuccessful(): bool; * @return array */ public function getResults(): array; + + public function isResultSuccess(ResultInterface $result): bool; }