This commit is contained in:
icefox 2025-12-22 17:54:16 -03:00
commit a5ce423afe
No known key found for this signature in database
30 changed files with 1807 additions and 0 deletions

View file

@ -0,0 +1,34 @@
<?php
namespace Tests\Aspects;
use Attribute;
use RuntimeException;
#[Attribute(Attribute::TARGET_METHOD)]
class ThrowingAspect
{
public static bool $throwInBefore = false;
public static bool $throwInAfter = false;
public function before(object|string $target, mixed ...$args): void
{
if (self::$throwInBefore) {
throw new RuntimeException('Exception thrown in before()');
}
}
public function after(object|string $target, mixed $result): mixed
{
if (self::$throwInAfter) {
throw new RuntimeException('Exception thrown in after()');
}
return $result;
}
public static function reset(): void
{
self::$throwInBefore = false;
self::$throwInAfter = false;
}
}