phar_oo_002.phpt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. --TEST--
  2. Phar object: iterator & entries
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("phar")) die("skip");
  6. if (version_compare(PHP_VERSION, "6.0", ">")) die("skip pre-unicode version of PHP required");
  7. if (!extension_loaded("spl")) die("skip SPL not available");
  8. ?>
  9. --INI--
  10. phar.readonly=1
  11. phar.require_hash=0
  12. --FILE--
  13. <?php
  14. require_once 'files/phar_oo_test.inc';
  15. $phar = new Phar($fname);
  16. $phar->setInfoClass('SplFileInfo');
  17. foreach($phar as $name => $ent)
  18. {
  19. var_dump(str_replace(str_replace('\\', '/', dirname(__FILE__)), '*', $name));
  20. var_dump($ent->getFilename());
  21. var_dump($ent->getSize());
  22. var_dump($ent->getType());
  23. var_dump($ent->isWritable());
  24. var_dump($ent->isReadable());
  25. var_dump($ent->isExecutable());
  26. var_dump($ent->isFile());
  27. var_dump($ent->isDir());
  28. var_dump($ent->isLink());
  29. var_dump($ent->getCTime());
  30. var_dump($ent->getMTime());
  31. var_dump($ent->getATime());
  32. }
  33. echo "==RECURSIVE==\n";
  34. $phar = new Phar($fname);
  35. foreach(new RecursiveIteratorIterator($phar) as $name => $ent)
  36. {
  37. var_dump(str_replace(str_replace('\\', '/', dirname(__FILE__)), '*', $name));
  38. var_dump(str_replace('\\', '/', $ent->getFilename()));
  39. var_dump($ent->getCompressedSize());
  40. var_dump($ent->isCRCChecked());
  41. var_dump($ent->isCRCChecked() ? $ent->getCRC32() : NULL);
  42. var_dump($ent->getPharFlags());
  43. }
  44. ?>
  45. ===DONE===
  46. --CLEAN--
  47. <?php
  48. unlink(dirname(__FILE__) . '/files/phar_oo_002.phar.php');
  49. __halt_compiler();
  50. ?>
  51. --EXPECTF--
  52. string(41) "phar://*/files/phar_oo_002.phar.php%ca.php"
  53. string(5) "a.php"
  54. int(32)
  55. string(4) "file"
  56. bool(false)
  57. bool(true)
  58. bool(false)
  59. bool(true)
  60. bool(false)
  61. bool(false)
  62. int(%d)
  63. int(%d)
  64. int(%d)
  65. string(37) "phar://*/files/phar_oo_002.phar.php%cb"
  66. string(1) "b"
  67. int(0)
  68. string(3) "dir"
  69. bool(false)
  70. bool(true)
  71. bool(false)
  72. bool(false)
  73. bool(true)
  74. bool(false)
  75. int(%d)
  76. int(%d)
  77. int(%d)
  78. string(41) "phar://*/files/phar_oo_002.phar.php%cb.php"
  79. string(5) "b.php"
  80. int(32)
  81. string(4) "file"
  82. bool(false)
  83. bool(true)
  84. bool(false)
  85. bool(true)
  86. bool(false)
  87. bool(false)
  88. int(%d)
  89. int(%d)
  90. int(%d)
  91. string(41) "phar://*/files/phar_oo_002.phar.php%ce.php"
  92. string(5) "e.php"
  93. int(32)
  94. string(4) "file"
  95. bool(false)
  96. bool(true)
  97. bool(false)
  98. bool(true)
  99. bool(false)
  100. bool(false)
  101. int(%d)
  102. int(%d)
  103. int(%d)
  104. ==RECURSIVE==
  105. string(41) "phar://*/files/phar_oo_002.phar.php%ca.php"
  106. string(5) "a.php"
  107. int(32)
  108. bool(false)
  109. NULL
  110. int(0)
  111. string(43) "phar://*/files/phar_oo_002.phar.php/b%cc.php"
  112. string(5) "c.php"
  113. int(34)
  114. bool(false)
  115. NULL
  116. int(0)
  117. string(43) "phar://*/files/phar_oo_002.phar.php/b%cd.php"
  118. string(5) "d.php"
  119. int(34)
  120. bool(false)
  121. NULL
  122. int(0)
  123. string(41) "phar://*/files/phar_oo_002.phar.php%cb.php"
  124. string(5) "b.php"
  125. int(32)
  126. bool(false)
  127. NULL
  128. int(0)
  129. string(41) "phar://*/files/phar_oo_002.phar.php%ce.php"
  130. string(5) "e.php"
  131. int(32)
  132. bool(false)
  133. NULL
  134. int(0)
  135. ===DONE===