bug77903.phpt 990 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --TEST--
  2. Bug #77903: ArrayIterator stops iterating after offsetSet call
  3. --FILE--
  4. <?php
  5. $a = new ArrayIterator();
  6. $a->rewind();
  7. var_dump($a->valid()); // false
  8. var_dump($a->current()); // null
  9. $a->offsetSet(1,1);
  10. var_dump($a->valid()); // true
  11. var_dump($a->current()); // 1
  12. $a->next();
  13. var_dump($a->valid()); // false
  14. var_dump($a->current()); // null
  15. $a->offsetSet(4,4);
  16. var_dump($a->valid()); // true
  17. var_dump($a->current()); // 4
  18. $a->next();
  19. var_dump($a->valid()); // false
  20. var_dump($a->current()); // null
  21. $a->next();
  22. var_dump($a->valid()); // false
  23. var_dump($a->current()); // null
  24. $a->offsetSet(2,2);
  25. var_dump($a->valid()); // true
  26. var_dump($a->current()); // 2
  27. $a->next();
  28. var_dump($a->valid()); // false
  29. var_dump($a->current()); // null
  30. $a->next();
  31. var_dump($a->valid()); // false
  32. var_dump($a->current()); // null
  33. ?>
  34. --EXPECT--
  35. bool(false)
  36. NULL
  37. bool(true)
  38. int(1)
  39. bool(false)
  40. NULL
  41. bool(true)
  42. int(4)
  43. bool(false)
  44. NULL
  45. bool(false)
  46. NULL
  47. bool(true)
  48. int(2)
  49. bool(false)
  50. NULL
  51. bool(false)
  52. NULL