php-src/Zend/tests/enum/backed-duplicate-string.phpt
Ilija Tovilo ddc0b490f7
Allow arbitrary const expressions in backed enums
Closes GH-7821
Closes GH-8190
Closes GH-8418
2022-06-12 22:56:05 +02:00

42 lines
801 B
PHP

--TEST--
Backed enums reject duplicate string values
--FILE--
<?php
enum Suit: string {
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'H';
}
try {
var_dump(Suit::Hearts);
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(Suit::Hearts);
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(Suit::from(42));
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(Suit::tryFrom('bar'));
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
?>
--EXPECT--
Duplicate value in enum Suit for cases Hearts and Spades
Duplicate value in enum Suit for cases Hearts and Spades
Duplicate value in enum Suit for cases Hearts and Spades
Duplicate value in enum Suit for cases Hearts and Spades