phar_oo_004.phpt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. --TEST--
  2. Phar and DirectoryIterator
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.require_hash=0
  7. --FILE--
  8. <?php
  9. require_once 'files/phar_oo_test.inc';
  10. $it = new DirectoryIterator('phar://'.$fname);
  11. foreach($it as $name => $ent)
  12. {
  13. var_dump($name);
  14. var_dump($ent->getFilename());
  15. var_dump($ent->isDir());
  16. var_dump($ent->isDot());
  17. }
  18. ?>
  19. ===MANUAL===
  20. <?php
  21. class MyDirectoryIterator extends DirectoryIterator
  22. {
  23. function __construct($dir)
  24. {
  25. echo __METHOD__ . "\n";
  26. parent::__construct($dir);
  27. }
  28. function rewind(): void
  29. {
  30. echo __METHOD__ . "\n";
  31. parent::rewind();
  32. }
  33. function valid(): bool
  34. {
  35. echo __METHOD__ . "\n";
  36. return parent::valid();
  37. }
  38. function key(): mixed
  39. {
  40. echo __METHOD__ . "\n";
  41. return parent::key();
  42. }
  43. function current(): mixed
  44. {
  45. echo __METHOD__ . "\n";
  46. return parent::current();
  47. }
  48. function next(): void
  49. {
  50. echo __METHOD__ . "\n";
  51. parent::next();
  52. }
  53. }
  54. $it = new MyDirectoryIterator('phar://'.$fname);
  55. foreach($it as $name => $ent)
  56. {
  57. var_dump($name);
  58. var_dump($ent->getFilename());
  59. }
  60. ?>
  61. --CLEAN--
  62. <?php
  63. unlink(__DIR__ . '/files/phar_oo_004.phar.php');
  64. __halt_compiler();
  65. ?>
  66. --EXPECT--
  67. int(0)
  68. string(5) "a.php"
  69. bool(false)
  70. bool(false)
  71. int(1)
  72. string(1) "b"
  73. bool(true)
  74. bool(false)
  75. int(2)
  76. string(5) "b.php"
  77. bool(false)
  78. bool(false)
  79. int(3)
  80. string(5) "e.php"
  81. bool(false)
  82. bool(false)
  83. ===MANUAL===
  84. MyDirectoryIterator::__construct
  85. MyDirectoryIterator::rewind
  86. MyDirectoryIterator::valid
  87. MyDirectoryIterator::current
  88. MyDirectoryIterator::key
  89. int(0)
  90. string(5) "a.php"
  91. MyDirectoryIterator::next
  92. MyDirectoryIterator::valid
  93. MyDirectoryIterator::current
  94. MyDirectoryIterator::key
  95. int(1)
  96. string(1) "b"
  97. MyDirectoryIterator::next
  98. MyDirectoryIterator::valid
  99. MyDirectoryIterator::current
  100. MyDirectoryIterator::key
  101. int(2)
  102. string(5) "b.php"
  103. MyDirectoryIterator::next
  104. MyDirectoryIterator::valid
  105. MyDirectoryIterator::current
  106. MyDirectoryIterator::key
  107. int(3)
  108. string(5) "e.php"
  109. MyDirectoryIterator::next
  110. MyDirectoryIterator::valid