oo_externalattributes.phpt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --TEST--
  2. ZipArchive::*ExternalAttributes*() function
  3. --SKIPIF--
  4. <?php
  5. /* $Id$ */
  6. if (!extension_loaded('zip')) die('skip');
  7. ?>
  8. --FILE--
  9. <?php
  10. $name = __DIR__ . '/withattr.zip';
  11. echo "== Set\n";
  12. $zip = new ZipArchive;
  13. $r = $zip->open($name, ZIPARCHIVE::CREATE);
  14. $zip->addFromString('foo.txt', 'foo');
  15. $zip->addFromString('bar.txt', 'bar');
  16. var_dump($zip->setExternalAttributesName('foo.txt', ZipArchive::OPSYS_UNIX, 123));
  17. $id = $zip->locateName('bar.txt');
  18. var_dump($zip->setExternalAttributesIndex($id, ZipArchive::OPSYS_VFAT, 234));
  19. $zip->close();
  20. echo "== Get\n";
  21. $r = $zip->open($name);
  22. var_dump($zip->getExternalAttributesName('foo.txt', $a, $b), $a, $b);
  23. $id = $zip->locateName('bar.txt');
  24. var_dump($zip->getExternalAttributesIndex($id, $a, $b), $a, $b);
  25. echo "== Set\n";
  26. var_dump($zip->setExternalAttributesName('foo.txt', ZipArchive::OPSYS_DOS, 345));
  27. var_dump($zip->setExternalAttributesIndex($id, ZipArchive::OPSYS_AMIGA, 456));
  28. echo "== Get changed\n";
  29. var_dump($zip->getExternalAttributesName('foo.txt', $a, $b), $a, $b);
  30. var_dump($zip->getExternalAttributesIndex($id, $a, $b), $a, $b);
  31. echo "== Get unchanged\n";
  32. var_dump($zip->getExternalAttributesName('foo.txt', $a, $b, ZipArchive::FL_UNCHANGED), $a, $b);
  33. var_dump($zip->getExternalAttributesIndex($id, $a, $b, ZipArchive::FL_UNCHANGED), $a, $b);
  34. $zip->close();
  35. ?>
  36. == Done
  37. --CLEAN--
  38. <?php
  39. $name = __DIR__ . '/withattr.zip';
  40. @unlink($name);
  41. ?>
  42. --EXPECTF--
  43. == Set
  44. bool(true)
  45. bool(true)
  46. == Get
  47. bool(true)
  48. int(3)
  49. int(123)
  50. bool(true)
  51. int(14)
  52. int(234)
  53. == Set
  54. bool(true)
  55. bool(true)
  56. == Get changed
  57. bool(true)
  58. int(0)
  59. int(345)
  60. bool(true)
  61. int(1)
  62. int(456)
  63. == Get unchanged
  64. bool(true)
  65. int(3)
  66. int(123)
  67. bool(true)
  68. int(14)
  69. int(234)
  70. == Done