php-src/Zend/tests/enum/backed-duplicate-int.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

40 lines
720 B
PHP

--TEST--
Backed enums reject duplicate int values
--FILE--
<?php
enum Foo: int {
case Bar = 0;
case Baz = 0;
}
try {
var_dump(Foo::Bar);
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(Foo::Bar);
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(Foo::from(42));
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(Foo::tryFrom('bar'));
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
?>
--EXPECT--
Duplicate value in enum Foo for cases Bar and Baz
Duplicate value in enum Foo for cases Bar and Baz
Duplicate value in enum Foo for cases Bar and Baz
Foo::tryFrom(): Argument #1 ($value) must be of type int, string given