oo_externalattributes.phpt 1.6 KB

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