metadata_write.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. --TEST--
  2. Phar with meta-data (write)
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.require_hash=0
  7. phar.readonly=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. $files['a'] = array('cont' => 'a');
  15. $files['b'] = array('cont' => 'b', 'meta' => 'hi there');
  16. $files['c'] = array('cont' => 'c', 'meta' => array('hi', 'there'));
  17. $files['d'] = array('cont' => 'd', 'meta' => array('hi'=>'there','foo'=>'bar'));
  18. include 'files/phar_test.inc';
  19. foreach($files as $name => $cont) {
  20. var_dump(file_get_contents($pname.'/'.$name));
  21. }
  22. $phar = new Phar($fname);
  23. $phar['a']->setMetadata(42);
  24. $phar['b']->setMetadata(NULL);
  25. $phar['c']->setMetadata(array(25, 'foo'=>'bar'));
  26. $phar['d']->setMetadata(true);
  27. foreach($files as $name => $cont) {
  28. var_dump($phar[$name]->getMetadata());
  29. }
  30. unset($phar);
  31. foreach($files as $name => $cont) {
  32. var_dump(file_get_contents($pname.'/'.$name));
  33. }
  34. ?>
  35. --CLEAN--
  36. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
  37. --EXPECT--
  38. string(1) "a"
  39. string(1) "b"
  40. string(1) "c"
  41. string(1) "d"
  42. int(42)
  43. NULL
  44. array(2) {
  45. [0]=>
  46. int(25)
  47. ["foo"]=>
  48. string(3) "bar"
  49. }
  50. bool(true)
  51. string(1) "a"
  52. string(1) "b"
  53. string(1) "c"
  54. string(1) "d"