From ea967b439f9d987ba0711e41b031ca02dcb33a99 Mon Sep 17 00:00:00 2001 From: AJ Meireles Date: Mon, 17 Jul 2023 11:08:00 -0300 Subject: [PATCH] Feature: Introducing The Ability to Dump Conditionally --- src/Expectation.php | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/Expectation.php b/src/Expectation.php index cb9b0361..1733541c 100644 --- a/src/Expectation.php +++ b/src/Expectation.php @@ -118,6 +118,48 @@ final class Expectation exit(1); } + /** + * Dump the expectation value when the result of the condition is truthy. + * + * @param bool $boolean + * @return never + */ + public function ddWhen($boolean, mixed ...$arguments): void + { + if (! $boolean) { + return; + } + + if (function_exists('dd')) { + dd($this->value, ...$arguments); + } + + var_dump($this->value); + + exit(1); + } + + /** + * Dump the expectation value when the result of the condition is falsy. + * + * @param bool $boolean + * @return never + */ + public function ddUnless($boolean, mixed ...$arguments): void + { + if ($boolean) { + return; + } + + if (function_exists('dd')) { + dd($this->value, ...$arguments); + } + + var_dump($this->value); + + exit(1); + } + /** * Send the expectation value to Ray along with all given arguments. *