Skip to content

Commit 0e8c443

Browse files
committed
PHP 8.5 no longer issues a warning when an int cast truncates a huge number to PHP_INT_MAX
Signed-off-by: George Steel <george@net-glue.co.uk>
1 parent af261d2 commit 0e8c443

1 file changed

Lines changed: 0 additions & 30 deletions

File tree

test/ToIntTest.php

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,8 @@
77
use Laminas\Filter\ToInt;
88
use LaminasTest\Filter\TestAsset\StringableObject;
99
use PHPUnit\Framework\Attributes\DataProvider;
10-
use PHPUnit\Framework\Attributes\RequiresPhp;
1110
use PHPUnit\Framework\TestCase;
1211

13-
use function restore_error_handler;
14-
use function set_error_handler;
15-
16-
use const E_WARNING;
1712
use const PHP_INT_MAX;
1813

1914
final class ToIntTest extends TestCase
@@ -48,35 +43,10 @@ public function testBasicBehaviour(mixed $input, mixed $expect): void
4843
self::assertSame($expect, $filter->__invoke($input));
4944
}
5045

51-
#[RequiresPhp('<= 8.4.99')]
5246
public function testHugeNumbersAreTruncatedToIntMax(): void
5347
{
5448
$huge = '9223372036854775807999';
5549
$filter = new ToInt();
5650
self::assertSame(PHP_INT_MAX, $filter->__invoke($huge));
5751
}
58-
59-
#[RequiresPhp('>= 8.5.0')]
60-
public function testHugeNumbersAreTruncatedToIntMaxOn85WithAWarning(): void
61-
{
62-
$called = false;
63-
$huge = '9223372036854775807999';
64-
65-
set_error_handler(static function (int $code, string $message) use (&$called, $huge): bool {
66-
self::assertSame(E_WARNING, $code);
67-
self::assertStringContainsString($huge, $message);
68-
self::assertStringContainsString('is not representable as an int', $message);
69-
$called = true;
70-
71-
return true;
72-
});
73-
74-
$filter = new ToInt();
75-
try {
76-
self::assertSame(PHP_INT_MAX, $filter->__invoke($huge));
77-
self::assertTrue($called, 'The error handler should have been called');
78-
} finally {
79-
restore_error_handler();
80-
}
81-
}
8252
}

0 commit comments

Comments
 (0)