phar_metadata_read.phpt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. --TEST--
  2. Phar with metadata (read)
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.readonly=0
  7. phar.require_hash=0
  8. --FILE--
  9. <?php
  10. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.php';
  11. $pname = 'phar://' . $fname;
  12. $file = "<?php __HALT_COMPILER(); ?>";
  13. $files = array();
  14. $pmeta = 'hi there';
  15. $files['a'] = array('cont' => 'a');
  16. $files['b'] = array('cont' => 'b');
  17. $files['c'] = array('cont' => 'c', 'meta' => array('hi', 'there'));
  18. $files['d'] = array('cont' => 'd', 'meta' => array('hi'=>'there','foo'=>'bar'));
  19. include 'files/phar_test.inc';
  20. foreach($files as $name => $cont) {
  21. var_dump(file_get_contents($pname.'/'.$name));
  22. }
  23. $phar = new Phar($fname);
  24. var_dump($phar->hasMetaData());
  25. var_dump($phar->getMetaData());
  26. var_dump($phar->delMetaData());
  27. var_dump($phar->getMetaData());
  28. var_dump($phar->delMetaData());
  29. var_dump($phar->getMetaData());
  30. foreach($files as $name => $cont) {
  31. echo " meta $name\n";
  32. var_dump($phar[$name]->hasMetadata());
  33. var_dump($phar[$name]->getMetadata());
  34. var_dump($phar[$name]->delMetadata());
  35. var_dump($phar[$name]->getMetadata());
  36. }
  37. unset($phar);
  38. foreach($files as $name => $cont) {
  39. var_dump(file_get_contents($pname.'/'.$name));
  40. }
  41. ?>
  42. --CLEAN--
  43. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
  44. --EXPECT--
  45. string(1) "a"
  46. string(1) "b"
  47. string(1) "c"
  48. string(1) "d"
  49. bool(true)
  50. string(8) "hi there"
  51. bool(true)
  52. NULL
  53. bool(true)
  54. NULL
  55. meta a
  56. bool(false)
  57. NULL
  58. bool(true)
  59. NULL
  60. meta b
  61. bool(false)
  62. NULL
  63. bool(true)
  64. NULL
  65. meta c
  66. bool(true)
  67. array(2) {
  68. [0]=>
  69. string(2) "hi"
  70. [1]=>
  71. string(5) "there"
  72. }
  73. bool(true)
  74. NULL
  75. meta d
  76. bool(true)
  77. array(2) {
  78. ["hi"]=>
  79. string(5) "there"
  80. ["foo"]=>
  81. string(3) "bar"
  82. }
  83. bool(true)
  84. NULL
  85. string(1) "a"
  86. string(1) "b"
  87. string(1) "c"
  88. string(1) "d"