diff --git a/Zend/tests/enum/backed-implements-multiple.phpt b/Zend/tests/enum/backed-implements-multiple.phpt new file mode 100644 index 00000000000..8ec40fd9302 --- /dev/null +++ b/Zend/tests/enum/backed-implements-multiple.phpt @@ -0,0 +1,58 @@ +--TEST-- +Backed Enum with multiple implementing interfaces +--FILE-- + 'Red', + self::Clubs, self::Spades => 'Black', + }; + } + + public function shape(): string { + return match ($this) { + self::Hearts => 'heart', + self::Diamonds => 'diamond', + self::Clubs => 'club', + self::Spades => 'spade', + }; + } +} + +echo Suit::Hearts->color() . "\n"; +echo Suit::Hearts->shape() . "\n"; +echo Suit::Diamonds->color() . "\n"; +echo Suit::Diamonds->shape() . "\n"; +echo Suit::Clubs->color() . "\n"; +echo Suit::Clubs->shape() . "\n"; +echo Suit::Spades->color() . "\n"; +echo Suit::Spades->shape() . "\n"; + +?> +--EXPECT-- +Red +heart +Red +diamond +Black +club +Black +spade diff --git a/Zend/tests/enum/backed-implements.phpt b/Zend/tests/enum/backed-implements.phpt new file mode 100644 index 00000000000..3b06db17198 --- /dev/null +++ b/Zend/tests/enum/backed-implements.phpt @@ -0,0 +1,34 @@ +--TEST-- +Backed Enum implements +--FILE-- + '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