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 { }