test_unset.phpt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Phar: ensure unset() works properly on a non-flushed phar archive
  3. --SKIPIF--
  4. <?php if (!extension_loaded("phar")) die("skip"); ?>
  5. --INI--
  6. phar.readonly=0
  7. --FILE--
  8. <?php
  9. $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
  10. $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.2.phar.php';
  11. if (file_exists($fname)) unlink($fname);
  12. if (file_exists($fname2)) unlink($fname2);
  13. $phar = new Phar($fname); // no entries, never flushed
  14. $phar->setAlias('first');
  15. $phar->setMetadata('hi');
  16. unset($phar);
  17. $phar = new Phar($fname2);
  18. $phar['b'] = 'whatever'; // flushed
  19. try {
  20. $phar->setAlias('first');
  21. } catch(Exception $e) {
  22. echo $e->getMessage()."\n";
  23. }
  24. $phar = new Phar($fname);
  25. var_dump($phar->getMetadata());
  26. var_dump($phar->getAlias());
  27. var_dump(file_exists($fname));
  28. ?>
  29. ===DONE===
  30. --CLEAN--
  31. <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
  32. <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.2.phar.php'); ?>
  33. --EXPECTF--
  34. NULL
  35. string(%d) "%stest_unset.phar.php"
  36. bool(false)
  37. ===DONE===