inflate_init_reuse.phpt 830 B

1234567891011121314151617181920212223242526272829303132
  1. --TEST--
  2. Test incremental inflate_init() context reuse
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("zlib")) {
  6. print "skip - ZLIB extension not loaded";
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. $resource = inflate_init(ZLIB_ENCODING_GZIP);
  12. $uncompressed = implode(range("a","z"));
  13. $compressed = gzencode($uncompressed);
  14. $inflated = "";
  15. for ($i=0;$i<strlen($compressed);$i++) {
  16. $inflated .= inflate_add($resource, $compressed[$i]);
  17. }
  18. $inflated .= inflate_add($resource, "", ZLIB_FINISH);
  19. assert($inflated === $uncompressed);
  20. // Now reuse the existing resource after finishing the previous operations ...
  21. $inflated = "";
  22. for ($i=0;$i<strlen($compressed);$i++) {
  23. $inflated .= inflate_add($resource, $compressed[$i]);
  24. }
  25. $inflated .= inflate_add($resource, "", ZLIB_FINISH);
  26. assert($inflated === $uncompressed);
  27. ?>
  28. ===DONE===
  29. --EXPECT--
  30. ===DONE===