Test to verify that closures can't be instantiated

This commit is contained in:
MarkBaker 2017-10-06 00:52:45 +01:00 committed by Peter Kokot
parent d22dd5f93a
commit c5f9855283

View File

@ -0,0 +1,21 @@
--TEST--
Closures cannot be instantiated directly
--CREDITS--
Mark Baker mark@lange.demon.co.uk at the PHPNW2017 Conference for PHP Testfest 2017
--FILE--
<?php
try {
// Closures should be instantiatable using new
$x = new Closure();
} catch (Exception $e) {
// Instantiating a closure is an error, not an exception, so we shouldn't see this
echo 'EXCEPTION: ', $e->getMessage();
} catch (Throwable $e) {
// This is the mesage that we should see for a caught error
echo 'ERROR: ', $e->getMessage();
}
?>
--EXPECT--
ERROR: Instantiation of 'Closure' is not allowed