bug38217.phpt 768 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too much memory)
  3. --FILE--
  4. <?php
  5. class ObjectOne {
  6. public function __construct() {
  7. }
  8. }
  9. $class= new ReflectionClass('ObjectOne');
  10. var_dump($class->newInstanceArgs());
  11. class ObjectTwo {
  12. public function __construct($var) {
  13. var_dump($var);
  14. }
  15. }
  16. $class= new ReflectionClass('ObjectTwo');
  17. try {
  18. var_dump($class->newInstanceArgs());
  19. } catch (Throwable $e) {
  20. echo "Exception: " . $e->getMessage() . "\n";
  21. }
  22. var_dump($class->newInstanceArgs(array('test')));
  23. echo "Done\n";
  24. ?>
  25. --EXPECTF--
  26. object(ObjectOne)#%d (0) {
  27. }
  28. Exception: Too few arguments to function ObjectTwo::__construct(), 0 passed and exactly 1 expected
  29. string(4) "test"
  30. object(ObjectTwo)#%d (0) {
  31. }
  32. Done