diff options
Diffstat (limited to 'Zend/tests/enum/implements.phpt')
-rw-r--r-- | Zend/tests/enum/implements.phpt | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Zend/tests/enum/implements.phpt b/Zend/tests/enum/implements.phpt new file mode 100644 index 0000000000..fc90ab2aef --- /dev/null +++ b/Zend/tests/enum/implements.phpt @@ -0,0 +1,34 @@ +--TEST-- +Enum implements +--FILE-- +<?php + +interface Colorful { + public function color(): string; +} + +enum Suit implements Colorful { + case Hearts; + case Diamonds; + case Clubs; + case Spades; + + public function color(): string { + return match ($this) { + self::Hearts, self::Diamonds => 'Red', + self::Clubs, self::Spades => 'Black', + }; + } +} + +echo Suit::Hearts->color() . "\n"; +echo Suit::Diamonds->color() . "\n"; +echo Suit::Clubs->color() . "\n"; +echo Suit::Spades->color() . "\n"; + +?> +--EXPECT-- +Red +Red +Black +Black |