test_unset.phpt 995 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Phar: ensure unset() works properly on a non-flushed phar archive
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.readonly=0
  7. --FILE--
  8. <?php
  9. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.php';
  10. $fname2 = __DIR__ . '/' . 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. --CLEAN--
  30. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
  31. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.2.phar.php'); ?>
  32. --EXPECTF--
  33. NULL
  34. string(%d) "%stest_unset.phar.php"
  35. bool(false)