phar_ctx_001.phpt 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. --TEST--
  2. Phar context
  3. --EXTENSIONS--
  4. phar
  5. zlib
  6. --INI--
  7. phar.require_hash=0
  8. phar.readonly=0
  9. --FILE--
  10. <?php
  11. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.php';
  12. $pname = 'phar://' . $fname;
  13. $file = '<?php __HALT_COMPILER(); ?>';
  14. $files = array();
  15. $files['a'] = 'a';
  16. $files['b'] = 'b';
  17. $files['c'] = 'c';
  18. include 'files/phar_test.inc';
  19. $phar = new Phar($fname);
  20. var_dump(file_get_contents($pname . '/a'));
  21. var_dump($phar['a']->isCompressed());
  22. var_dump(file_get_contents($pname . '/b'));
  23. var_dump($phar['b']->isCompressed());
  24. var_dump(file_get_contents($pname . '/c'));
  25. var_dump($phar['c']->isCompressed());
  26. $context = stream_context_create(array('phar'=> array('compress'=>Phar::GZ, 'metadata' => array(2, 'hi' => 3))));
  27. $context2 = stream_context_create(array('phar' => array('metadata' => array(4))));
  28. file_put_contents($pname . '/a', 'new a', 0); // no compression
  29. file_put_contents($pname . '/b', 'new b', 0, $context);
  30. file_put_contents($pname . '/d', 'new d', 0, $context2);
  31. $phar = new Phar($fname);
  32. var_dump(file_get_contents($pname . '/a'));
  33. var_dump($phar['a']->isCompressed());
  34. var_dump($phar['a']->getMetaData());
  35. var_dump(file_get_contents($pname . '/b'));
  36. var_dump($phar['b']->isCompressed());
  37. var_dump($phar['b']->getMetaData());
  38. var_dump(file_get_contents($pname . '/c'));
  39. var_dump($phar['c']->isCompressed());
  40. var_dump($phar['c']->getMetaData());
  41. var_dump(file_get_contents($pname . '/d'));
  42. var_dump($phar['d']->isCompressed());
  43. var_dump($phar['d']->getMetaData());
  44. $context2 = stream_context_create(array('phar' => array('metadata' => array(4))));
  45. $fp = fopen($pname . '/b', 'r+', 0, $context2);
  46. fclose($fp);
  47. ?>
  48. ==AFTER==
  49. <?php
  50. var_dump(file_get_contents($pname . '/b'));
  51. var_dump($phar['b']->isCompressed());
  52. var_dump($phar['b']->getMetaData());
  53. ?>
  54. --CLEAN--
  55. <?php
  56. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php');
  57. ?>
  58. --EXPECT--
  59. string(1) "a"
  60. bool(false)
  61. string(1) "b"
  62. bool(false)
  63. string(1) "c"
  64. bool(false)
  65. string(5) "new a"
  66. bool(false)
  67. NULL
  68. string(5) "new b"
  69. bool(true)
  70. array(2) {
  71. [0]=>
  72. int(2)
  73. ["hi"]=>
  74. int(3)
  75. }
  76. string(1) "c"
  77. bool(false)
  78. NULL
  79. string(5) "new d"
  80. bool(false)
  81. array(1) {
  82. [0]=>
  83. int(4)
  84. }
  85. ==AFTER==
  86. string(5) "new b"
  87. bool(true)
  88. array(1) {
  89. [0]=>
  90. int(4)
  91. }