You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.1 KiB

  1. --TEST--
  2. SPL: ArrayObject::count() and ArrayIterator::count() basic functionality.
  3. --FILE--
  4. ==ArrayObject==
  5. <?php
  6. class C extends ArrayObject {
  7. function count() {
  8. return 99;
  9. }
  10. }
  11. $c = new C;
  12. $ao = new ArrayObject;
  13. var_dump(count($c), count($ao));
  14. $c[] = 'a';
  15. $ao[] = 'a';
  16. var_dump(count($c), count($ao));
  17. $c[] = 'b';
  18. $ao[] = 'b';
  19. var_dump(count($c), count($ao));
  20. unset($c[0]);
  21. unset($ao[0]);
  22. var_dump($c->count(), $ao->count());
  23. //Extra args are ignored.
  24. var_dump($ao->count('blah'));
  25. ?>
  26. ==ArrayIterator==
  27. <?php
  28. class D extends ArrayIterator {
  29. function count() {
  30. return 99;
  31. }
  32. }
  33. $c = new D;
  34. $ao = new ArrayIterator;
  35. var_dump(count($c), count($ao));
  36. $c[] = 'a';
  37. $ao[] = 'a';
  38. var_dump(count($c), count($ao));
  39. $c[] = 'b';
  40. $ao[] = 'b';
  41. var_dump(count($c), count($ao));
  42. unset($c[0]);
  43. unset($ao[0]);
  44. var_dump($c->count(), $ao->count());
  45. //Extra args are ignored.
  46. var_dump($ao->count('blah'));
  47. ?>
  48. --EXPECTF--
  49. ==ArrayObject==
  50. int(99)
  51. int(0)
  52. int(99)
  53. int(1)
  54. int(99)
  55. int(2)
  56. int(99)
  57. int(1)
  58. int(1)
  59. ==ArrayIterator==
  60. int(99)
  61. int(0)
  62. int(99)
  63. int(1)
  64. int(99)
  65. int(2)
  66. int(99)
  67. int(1)
  68. int(1)