oo_cancel.phpt 838 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. registerCancelCallback
  3. --EXTENSIONS--
  4. zip
  5. --SKIPIF--
  6. <?php
  7. /* $Id$ */
  8. if (!method_exists('ZipArchive', 'registerCancelCallback')) die('skip libzip too old');
  9. ?>
  10. --INI--
  11. date.timezone=UTC
  12. --FILE--
  13. <?php
  14. $dirname = dirname(__FILE__) . '/';
  15. $file = $dirname . '__tmp_oo_progress.zip';
  16. @unlink($file);
  17. $zip = new ZipArchive;
  18. if (!$zip->open($file, ZIPARCHIVE::CREATE)) {
  19. exit('failed');
  20. }
  21. var_dump($zip->registerCancelCallback(function () {
  22. // Always cancel
  23. return -1;
  24. }));
  25. var_dump($zip->addFromString(PHP_BINARY, 'entry #1'));
  26. var_dump($zip->close());
  27. var_dump($zip->status == ZipArchive::ER_CANCELLED);
  28. var_dump($zip->getStatusString());
  29. @unlink($file);
  30. ?>
  31. Done
  32. --EXPECTF--
  33. bool(true)
  34. bool(true)
  35. Warning: ZipArchive::close(): Operation cancelled in %s
  36. bool(false)
  37. bool(true)
  38. string(19) "Operation cancelled"
  39. Done