1
0
Fork 0
mirror of https://github.com/archtechx/enums.git synced 2025-12-12 17:44:05 +00:00
enums/tests/Pest/TraitTest.php

37 lines
668 B
PHP

<?php
use ArchTech\Enums\Meta\Meta;
use ArchTech\Enums\Meta\MetaProperty;
use ArchTech\Enums\Metadata;
test('enums can use traits which define meta properties on themselves', function () {
expect(MyEnum::FOO->description())->toBe('Foo!');
expect(MyEnum::BAR->description())->toBe('Bar!');
expect(MyEnum::BAZ->description())->toBe(null);
});
enum MyEnum
{
use Metadata;
use HasDescription;
#[Description('Foo!')]
case FOO;
#[Description('Bar!')]
case BAR;
case BAZ;
}
#[Attribute]
class Description extends MetaProperty
{}
/**
* @method string|null description()
*/
#[Meta(Description::class)]
trait HasDescription
{
}