iterator_056.phpt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. SPL: Calling __construct(void) on class extending SPL iterator
  3. --CREDITS--
  4. Sebastian Schürmann
  5. --FILE--
  6. <?php
  7. class myFilterIterator extends FilterIterator {
  8. function accept(): bool { }
  9. }
  10. class myCachingIterator extends CachingIterator { }
  11. class myRecursiveCachingIterator extends RecursiveCachingIterator { }
  12. class myParentIterator extends ParentIterator { }
  13. class myLimitIterator extends LimitIterator { }
  14. class myNoRewindIterator extends NoRewindIterator {}
  15. try {
  16. $it = new myFilterIterator();
  17. } catch (TypeError $e) {
  18. echo $e->getMessage(), "\n";
  19. }
  20. try {
  21. $it = new myCachingIterator();
  22. } catch (TypeError $e) {
  23. echo $e->getMessage(), "\n";
  24. }
  25. try {
  26. $it = new myRecursiveCachingIterator();
  27. } catch (TypeError $e) {
  28. echo $e->getMessage(), "\n";
  29. }
  30. try {
  31. $it = new myParentIterator();
  32. } catch (TypeError $e) {
  33. echo $e->getMessage(), "\n";
  34. }
  35. try {
  36. $it = new myLimitIterator();
  37. } catch (TypeError $e) {
  38. echo $e->getMessage(), "\n";
  39. }
  40. try {
  41. $it = new myNoRewindIterator();
  42. } catch (TypeError $e) {
  43. echo $e->getMessage(), "\n";
  44. }
  45. ?>
  46. --EXPECT--
  47. FilterIterator::__construct() expects exactly 1 argument, 0 given
  48. CachingIterator::__construct() expects at least 1 argument, 0 given
  49. RecursiveCachingIterator::__construct() expects at least 1 argument, 0 given
  50. ParentIterator::__construct() expects exactly 1 argument, 0 given
  51. LimitIterator::__construct() expects at least 1 argument, 0 given
  52. NoRewindIterator::__construct() expects exactly 1 argument, 0 given