phar_stub.phpt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --TEST--
  2. Phar::setStub() (zip-based)
  3. --SKIPIF--
  4. <?php if (!extension_loaded("phar")) die("skip"); ?>
  5. --INI--
  6. phar.require_hash=0
  7. phar.readonly=0
  8. --FILE--
  9. <?php
  10. $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.2.phar.zip.php';
  11. $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.zip.php';
  12. $pname = 'phar://' . $fname;
  13. $pname2 = 'phar://' . $fname2;
  14. $p = new Phar($pname2);
  15. $p->setStub('<?php echo "first stub\n"; __HALT_COMPILER(); ?>');
  16. $p['a'] = 'a';
  17. $p['b'] = 'b';
  18. $p['c'] = 'c';
  19. copy($fname2, $fname);
  20. $phar = new Phar($fname);
  21. echo $phar->getStub();
  22. $file = b'<?php echo "second stub\n"; __HALT_COMPILER(); ?>';
  23. //// 2
  24. $phar->setStub($file);
  25. echo $phar->getStub();
  26. $fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phartmp.php';
  27. $file = b'<?php echo "third stub\n"; __HALT_COMPILER(); ?>';
  28. $fp = fopen($fname3, 'wb');
  29. fwrite($fp, $file);
  30. fclose($fp);
  31. $fp = fopen($fname3, 'rb');
  32. //// 3
  33. $phar->setStub($fp);
  34. fclose($fp);
  35. echo $phar->getStub();
  36. $fp = fopen($fname3, 'ab');
  37. fwrite($fp, b'booya');
  38. fclose($fp);
  39. echo file_get_contents($fname3) . "\n";
  40. $fp = fopen($fname3, 'rb');
  41. //// 4
  42. $phar->setStub($fp, strlen($file));
  43. fclose($fp);
  44. echo $phar->getStub();
  45. $phar['testing'] = 'hi';
  46. echo $phar->getStub();
  47. ?>
  48. ===DONE===
  49. --CLEAN--
  50. <?php
  51. unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.zip.php');
  52. unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.2.phar.zip.php');
  53. unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phartmp.php');
  54. __HALT_COMPILER();
  55. ?>
  56. --EXPECT--
  57. <?php echo "first stub\n"; __HALT_COMPILER(); ?>
  58. <?php echo "second stub\n"; __HALT_COMPILER(); ?>
  59. <?php echo "third stub\n"; __HALT_COMPILER(); ?>
  60. <?php echo "third stub\n"; __HALT_COMPILER(); ?>booya
  61. <?php echo "third stub\n"; __HALT_COMPILER(); ?>
  62. <?php echo "third stub\n"; __HALT_COMPILER(); ?>
  63. ===DONE===