gzencode_basic1.phpt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. --TEST--
  2. Test gzencode() function : basic functionality
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("zlib")) {
  6. print "skip - ZLIB extension not loaded";
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. /* Prototype : string gzencode ( string $data [, int $level [, int $encoding_mode ]] )
  12. * Description: Gzip-compress a string
  13. * Source code: ext/zlib/zlib.c
  14. * Alias to functions:
  15. */
  16. /*
  17. * Test basic function of gzencode
  18. */
  19. include(dirname(__FILE__) . '/data.inc');
  20. echo "*** Testing gzencode() : basic functionality ***\n";
  21. // Initialise all required variables
  22. $smallstring = "A small string to compress\n";
  23. // Calling gzencode() with various compression levels
  24. // Compressing a big string
  25. for($i = -1; $i < 10; $i++) {
  26. echo "-- Compression level $i --\n";
  27. $output = gzencode($data, $i);
  28. // Clear OS byte before encode
  29. $output[9] = "\x00";
  30. var_dump(md5($output));
  31. }
  32. // Compressing a smaller string
  33. for($i = -1; $i < 10; $i++) {
  34. echo "-- Compression level $i --\n";
  35. $output = gzencode($smallstring, $i);
  36. // Clear OS byte before encode
  37. $output[9] = "\x00";
  38. var_dump(md5($output));
  39. }
  40. // Calling gzencode() with mandatory arguments
  41. echo "\n-- Testing with no specified compression level --\n";
  42. var_dump(bin2hex(gzencode($smallstring)));
  43. echo "\n-- Testing gzencode with mode specified --\n";
  44. var_dump(bin2hex(gzencode($smallstring, -1, FORCE_GZIP)));
  45. ?>
  46. ===Done===
  47. --EXPECTF--
  48. *** Testing gzencode() : basic functionality ***
  49. -- Compression level -1 --
  50. string(32) "d9ede02415ce91d21e5a94274e2b9c42"
  51. -- Compression level 0 --
  52. string(32) "bbf32d5508e5f1f4e6d42790489dae15"
  53. -- Compression level 1 --
  54. string(32) "0bfaaa7a5a57f8fb533074fca6c85eeb"
  55. -- Compression level 2 --
  56. string(32) "7ddbfed63a76c42808722b66f1c133fc"
  57. -- Compression level 3 --
  58. string(32) "ca2b85d194dfa2a4e8a162b646c99265"
  59. -- Compression level 4 --
  60. string(32) "cfe28033eaf260bc33ddc04b53d3ba39"
  61. -- Compression level 5 --
  62. string(32) "ae357fada2b515422f8bea0aa3bcc48f"
  63. -- Compression level 6 --
  64. string(32) "d9ede02415ce91d21e5a94274e2b9c42"
  65. -- Compression level 7 --
  66. string(32) "d9ede02415ce91d21e5a94274e2b9c42"
  67. -- Compression level 8 --
  68. string(32) "d9ede02415ce91d21e5a94274e2b9c42"
  69. -- Compression level 9 --
  70. string(32) "0f220a09e9895bcb3a1308d2bc99cfdf"
  71. -- Compression level -1 --
  72. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  73. -- Compression level 0 --
  74. string(32) "9c5005db88490d6fe102ea2c233b2872"
  75. -- Compression level 1 --
  76. string(32) "d24ff7c4c20cef69b9c3abd603368db9"
  77. -- Compression level 2 --
  78. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  79. -- Compression level 3 --
  80. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  81. -- Compression level 4 --
  82. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  83. -- Compression level 5 --
  84. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  85. -- Compression level 6 --
  86. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  87. -- Compression level 7 --
  88. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  89. -- Compression level 8 --
  90. string(32) "f77bd31e1e4dd11d12828fb661a08010"
  91. -- Compression level 9 --
  92. string(32) "8849e9a1543c04b3f882b5ce20839ed2"
  93. -- Testing with no specified compression level --
  94. string(94) "1f8b08000000000000%c%c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200edc4e40b1b000000"
  95. -- Testing gzencode with mode specified --
  96. string(94) "1f8b08000000000000%c%c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200edc4e40b1b000000"
  97. ===Done===