feat(presets): reworks code

This commit is contained in:
Nuno Maduro
2024-08-07 11:08:29 +01:00
parent 17058d1709
commit 9353015691
10 changed files with 80 additions and 27 deletions

View File

@ -4,6 +4,9 @@ declare(strict_types=1);
namespace Pest\ArchPresets;
use Pest\Arch\Contracts\ArchExpectation;
use Pest\Expectation;
/**
* @internal
*/
@ -14,14 +17,15 @@ final class Strict extends AbstractPreset
*/
public function execute(): void
{
$this->eachUserNamespace(
fn (Expectation $namespace): ArchExpectation => $namespace->toUseStrictTypes(),
fn (Expectation $namespace): ArchExpectation => $namespace->classes()->toBeFinal(),
fn (Expectation $namespace): ArchExpectation => $namespace->classes()->not->toBeAbstract(),
);
$this->expectations[] = expect([
'sleep',
'usleep',
])->not->toBeUsed();
foreach ($this->userNamespaces as $namespace) {
$this->expectations[] = expect($namespace)
->toUseStrictTypes();
}
}
}