1
0
mirror of https://github.com/php/php-src.git synced 2026-03-26 09:12:14 +01:00
Files
archived-php-src/ext/opcache/tests/bug73789.phpt
Max Semenik e9f783fcdd Migrate skip checks to --EXTENSIONS--, p3
For rationale, see #6787

Extensions migrated in part 3:
* ftp
* gmp
* iconv
* opcache
* shmop
2021-04-03 15:23:25 +02:00

35 lines
723 B
PHP

--TEST--
Bug #73789 (Strange behavior of class constants in switch/case block)
--EXTENSIONS--
opcache
ctype
--FILE--
<?php
class Lexer
{
const T_NONE = 1;
const T_STRING = 2;
const T_DOT = 8;
public function getType($value): int
{
$type = self::T_NONE;
switch (true) {
case ctype_alpha($value[0]):
$name = 'Lexer::T_' . strtoupper($value);
$type = constant($name);
if ($type > 100) {
return $type;
}
return self::T_STRING;
case $value === '.':
return self::T_DOT;
default:
}
return $type;
}
}
var_dump((new Lexer())->getType("dot"));
?>
--EXPECT--
int(2)