pharfileinfo_construct.phpt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. --TEST--
  2. Phar: PharFileInfo::__construct
  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';
  10. $pname = 'phar://' . $fname;
  11. try {
  12. file_put_contents($fname, 'blah');
  13. $a = new PharFileInfo($pname . '/oops');
  14. } catch (Exception $e) {
  15. echo $e->getMessage() . "\n";
  16. unlink($fname);
  17. }
  18. $a = new PharFileInfo(array());
  19. $a = new Phar($fname);
  20. $a['a'] = 'hi';
  21. $b = $a['a'];
  22. try {
  23. $a = new PharFileInfo($pname . '/oops/I/do/not/exist');
  24. } catch (Exception $e) {
  25. echo $e->getMessage() . "\n";
  26. }
  27. try {
  28. $b->__construct('oops');
  29. } catch (Exception $e) {
  30. echo $e->getMessage() . "\n";
  31. }
  32. try {
  33. $a = new PharFileInfo(__FILE__);
  34. } catch (Exception $e) {
  35. echo $e->getMessage() . "\n";
  36. }
  37. ?>
  38. ===DONE===
  39. --CLEAN--
  40. <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar'); ?>
  41. --EXPECTF--
  42. Cannot open phar file 'phar://%spharfileinfo_construct.phar/oops': internal corruption of phar "%spharfileinfo_construct.phar" (truncated entry)
  43. Warning: PharFileInfo::__construct() expects parameter 1 to be a valid path, array given in %spharfileinfo_construct.php on line %d
  44. Cannot access phar file entry '/oops/I/do/not/exist' in archive '%spharfileinfo_construct.phar'
  45. Cannot call constructor twice
  46. '%spharfileinfo_construct.php' is not a valid phar archive URL (must have at least phar://filename.phar)
  47. ===DONE===