--- /dev/null
+
+<?php
+$data = <<<QUOTE
+To be or not to be, that is the question;
+Whether 'tis nobler in the mind to suffer
+The Slings and Arrows of outrageous Fortune
+Or to take arms against a sea of troubles,
+And by opposing, end them. To die, to sleep;
+No more; and by a sleep to say we end
+The heart-ache and the thousand natural shocks
+That flesh is heir to 'tis a consummation
+Devoutly to be wish'd. To die, to sleep;
+To sleep, perchance to dream. Ay, there's the rub,
+For in that sleep of death what dreams may come,
+When we have shuffled off this mortal coil,
+Must give us pause. There's the respect
+That makes calamity of so long life,
+For who would bear the whips and scorns of time,
+Th'oppressor's wrong, the proud man's contumely,
+The pangs of dispriz'd love, the law's delay,
+The insolence of office, and the spurns
+That patient merit of th'unworthy takes,
+When he himself might his quietus make
+With a bare bodkin? who would fardels bear,
+To grunt and sweat under a weary life,
+But that the dread of something after death,
+The undiscovered country from whose bourn
+No traveller returns, puzzles the will,
+And makes us rather bear those ills we have
+Than fly to others that we know not of?
+Thus conscience does make cowards of us all,
+And thus the native hue of resolution
+Is sicklied o'er with the pale cast of thought,
+And enterprises of great pitch and moment
+With this regard their currents turn away,
+And lose the name of action.
+
+
+Hath not a Jew eyes? Hath not a Jew hands, organs, dimensions,
+senses, affections, passions; fed with the same food, hurt with
+the same weapons, subject to the same diseases, heal'd by
+the same means, warm'd and cool'd by the same winter and summer
+as a Christian is? If you prick us, do we not bleed? If you
+tickle us, do we not laugh? If you poison us, do we not die?
+And if you wrong us, shall we not revenge? If we are like you
+in the rest, we will resemble you in that. If a Jew wrong a
+Christian, what is his humility? Revenge. If a Christian wrong
+a Jew, what should his sufferance be by Christian example? Why,
+revenge. The villainy you teach me, I will execute, and it
+shall go hard but I will better the instruction.
+
+Is this a dagger which I see before me,
+The handle toward my hand? Come, let me clutch thee.
+I have thee not, and yet I see thee still.
+Art thou not, fatal vision, sensible
+To feeling as to sight? or art thou but
+A dagger of the mind, a false creation,
+Proceeding from the heat-oppress'd brain?
+I see thee yet, in form as palpable
+As this which now I draw.
+Thou marshall'st me the way that I was going;
+And such an instrument I was to use.
+Mine eyes are made the fools o' the other senses,
+Or else worth all the rest; I see thee still,
+And on thy blade and dudgeon gouts of blood,
+Which was not so before.
+There's no such thing:
+It is the bloody business which informs Thus to mine eyes.
+Now o'er the one halfworld Nature seems dead,
+and wicked dreams abuse The curtain'd sleep; witchcraft celebrates
+Pale Hecate's offerings, and wither'd murder,
+Alarum'd by his sentinel, the wolf,
+Whose howl's his watch, thus with his stealthy pace.
+With Tarquin's ravishing strides, towards his design
+Moves like a ghost. Thou sure and firm-set earth,
+Hear not my steps, which way they walk,
+for fear Thy very stones prate of my whereabout,
+And take the present horror from the time,
+Which now suits with it.
+Whiles I threat, he lives:
+Words to the heat of deeds too cold breath gives.
+I go, and it is done; the bell invites me.
+Hear it not, Duncan; for it is a knell
+That summons thee to heaven or to hell.
+
+QUOTE;
+
+?>
\ No newline at end of file
--- /dev/null
+--TEST--
+Test gzcompress() function : basic functionality
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzcompress(string data [, int level])
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+/*
+ * add a comment here to say what the test is supposed to do
+ */
+
+include(dirname(__FILE__) . '/data.inc');
+
+echo "*** Testing gzcompress() : basic functionality ***\n";
+
+// Initialise all required variables
+
+$smallstring = "A small string to compress\n";
+
+
+// Calling gzcompress() with all possible arguments
+
+// Compressing a big string
+for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzcompress($data, $i);
+ var_dump(md5($output));
+ var_dump(strcmp(gzuncompress($output), $data));
+}
+
+// Compressing a smaller string
+for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzcompress($smallstring, $i);
+ var_dump(bin2hex($output));
+ var_dump(strcmp(gzuncompress($output), $smallstring));
+}
+
+// Calling gzcompress() with mandatory arguments
+echo "\n-- Testing with no specified compression level --\n";
+var_dump( bin2hex(gzcompress($smallstring) ));
+
+?>
+===Done===
+--EXPECT--
+*** Testing gzcompress() : basic functionality ***
+-- Compression level -1 --
+string(32) "764809aef15bb34cb73ad49ecb600d99"
+int(0)
+-- Compression level 0 --
+string(32) "d0136b3fb5424142c0eb26dfec8f56fe"
+int(0)
+-- Compression level 1 --
+string(32) "c2e070f4320d1f674965eaab95b53d9c"
+int(0)
+-- Compression level 2 --
+string(32) "400a53d19ca337727f8cd362f5cd3ee0"
+int(0)
+-- Compression level 3 --
+string(32) "a441a2f5169bb303cd45b860a5a9dbf9"
+int(0)
+-- Compression level 4 --
+string(32) "d5b7451e9de2864beccc9de1fc55eb87"
+int(0)
+-- Compression level 5 --
+string(32) "32ba4a01120449ec25508cabfad41f56"
+int(0)
+-- Compression level 6 --
+string(32) "764809aef15bb34cb73ad49ecb600d99"
+int(0)
+-- Compression level 7 --
+string(32) "e083e7e8d05471fed3c2182b9cd0d9eb"
+int(0)
+-- Compression level 8 --
+string(32) "e083e7e8d05471fed3c2182b9cd0d9eb"
+int(0)
+-- Compression level 9 --
+string(32) "e083e7e8d05471fed3c2182b9cd0d9eb"
+int(0)
+-- Compression level -1 --
+string(70) "789c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 0 --
+string(76) "7801011b00e4ff4120736d616c6c20737472696e6720746f20636f6d70726573730a87a509cb"
+int(0)
+-- Compression level 1 --
+string(70) "7801735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 2 --
+string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 3 --
+string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 4 --
+string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 5 --
+string(70) "785e735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 6 --
+string(70) "789c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 7 --
+string(70) "78da735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 8 --
+string(70) "78da735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+-- Compression level 9 --
+string(70) "78da735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+int(0)
+
+-- Testing with no specified compression level --
+string(70) "789c735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee6020087a509cb"
+===Done===
\ No newline at end of file
--- /dev/null
+--TEST--
+Test gzcompress() function : error conditions
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzcompress(string data [, int level])
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+/*
+ * add a comment here to say what the test is supposed to do
+ */
+
+echo "*** Testing gzcompress() : error conditions ***\n";
+
+// Zero arguments
+echo "\n-- Testing gzcompress() function with Zero arguments --\n";
+var_dump( gzcompress() );
+
+//Test gzcompress with one more than the expected number of arguments
+echo "\n-- Testing gzcompress() function with more than expected no. of arguments --\n";
+$data = 'string_val';
+$level = 2;
+$extra_arg = 10;
+var_dump( gzcompress($data, $level, $extra_arg) );
+
+echo "\n-- Testing with incorrect compression level --\n";
+$bad_level = 99;
+var_dump(gzcompress($data, $bad_level));
+
+class Tester {
+ function Hello() {
+ echo "Hello\n";
+ }
+}
+
+echo "\n-- Testing with incorrect parameters --\n";
+$testclass = new Tester();
+var_dump(gzcompress($testclass));
+
+var_dump(gzcompress($data, $testclass));
+
+
+?>
+===Done===
+--EXPECTF--
+*** Testing gzcompress() : error conditions ***
+
+-- Testing gzcompress() function with Zero arguments --
+
+Warning: gzcompress() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing gzcompress() function with more than expected no. of arguments --
+
+Warning: gzcompress() expects at most 2 parameters, 3 given in %s on line %d
+NULL
+
+-- Testing with incorrect compression level --
+
+Warning: gzcompress(): compression level (99) must be within -1..9 in %s on line %d
+bool(false)
+
+-- Testing with incorrect parameters --
+
+Warning: gzcompress() expects parameter 1 to be string, object given in %s on line %d
+NULL
+
+Warning: gzcompress() expects parameter 2 to be long, object given in %s on line %d
+NULL
+===Done===
\ No newline at end of file
--- /dev/null
+--TEST--
+Test gzcompress() function : variation
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzcompress(string data [, int level])
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+include(dirname(__FILE__) . '/data.inc');
+
+echo "*** Testing gzcompress() : variation ***\n";
+
+
+
+echo "\n-- Testing multiple compression --\n";
+$output = gzcompress($data);
+var_dump( md5($output));
+var_dump(md5(gzcompress($output)));
+
+?>
+===Done===
+--EXPECTF--
+*** Testing gzcompress() : variation ***
+
+-- Testing multiple compression --
+string(32) "764809aef15bb34cb73ad49ecb600d99"
+string(32) "eba942bc2061f23ea8688cc5101872a4"
+===Done===
\ No newline at end of file
--- /dev/null
+--TEST--
+Test gzdeflate() function : basic functionality
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : proto string gzdeflate(string data [, int level])
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+/*
+ * add a comment here to say what the test is supposed to do
+ */
+
+include(dirname(__FILE__) . '/data.inc');
+
+echo "*** Testing gzdeflate() : basic functionality ***\n";
+
+// Initialise all required variables
+
+$smallstring = "A small string to compress\n";
+
+
+// Calling gzdeflate() with all possible arguments
+
+// Compressing a big string
+for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzdeflate($data, $i);
+ var_dump(md5($output));
+ var_dump(strcmp(gzinflate($output), $data));
+}
+
+// Compressing a smaller string
+for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzdeflate($smallstring, $i);
+ var_dump(bin2hex($output));
+ var_dump(strcmp(gzinflate($output), $smallstring));
+}
+
+// Calling gzdeflate() with just mandatory arguments
+echo "\n-- Testing with no specified compression level --\n";
+var_dump( bin2hex(gzdeflate($smallstring) ));
+
+?>
+===Done===
+--EXPECT--
+*** Testing gzdeflate() : basic functionality ***
+-- Compression level -1 --
+string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+int(0)
+-- Compression level 0 --
+string(32) "a71e54d2499aff9e48643cb1c260b60c"
+int(0)
+-- Compression level 1 --
+string(32) "05e80f4dc0d422e1f333cbed555d381f"
+int(0)
+-- Compression level 2 --
+string(32) "0fb33656e4ed0750f977df83246fce7a"
+int(0)
+-- Compression level 3 --
+string(32) "bc6e9c1dccc3e951e006315ee669ee08"
+int(0)
+-- Compression level 4 --
+string(32) "a61727d7a28c634470eb6e97a4a81b24"
+int(0)
+-- Compression level 5 --
+string(32) "a2a1a14b7542c82e8943200d093d5f27"
+int(0)
+-- Compression level 6 --
+string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+int(0)
+-- Compression level 7 --
+string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+int(0)
+-- Compression level 8 --
+string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+int(0)
+-- Compression level 9 --
+string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+int(0)
+-- Compression level -1 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 0 --
+string(64) "011b00e4ff4120736d616c6c20737472696e6720746f20636f6d70726573730a"
+int(0)
+-- Compression level 1 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 2 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 3 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 4 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 5 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 6 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 7 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 8 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+-- Compression level 9 --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+int(0)
+
+-- Testing with no specified compression level --
+string(58) "735428ce4dccc951282e29cacc4b5728c95748cecf2d284a2d2ee60200"
+===Done===
--- /dev/null
+--TEST--
+Test gzdeflate() function : error conditions
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzdeflate(string data [, int level])
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+/*
+ * add a comment here to say what the test is supposed to do
+ */
+
+echo "*** Testing gzdeflate() : error conditions ***\n";
+
+// Zero arguments
+echo "\n-- Testing gzdeflate() function with Zero arguments --\n";
+var_dump( gzdeflate() );
+
+//Test gzdeflate with one more than the expected number of arguments
+echo "\n-- Testing gzdeflate() function with more than expected no. of arguments --\n";
+$data = 'string_val';
+$level = 2;
+$extra_arg = 10;
+var_dump( gzdeflate($data, $level, $extra_arg) );
+
+echo "\n-- Testing with incorrect compression level --\n";
+$bad_level = 99;
+var_dump(gzdeflate($data, $bad_level));
+
+class Tester {
+ function Hello() {
+ echo "Hello\n";
+ }
+}
+
+echo "\n-- Testing with incorrect parameters --\n";
+$testclass = new Tester();
+var_dump(gzdeflate($testclass));
+var_dump(gzdeflate($data, $testclass));
+
+?>
+===Done===
+--EXPECTF--
+*** Testing gzdeflate() : error conditions ***
+
+-- Testing gzdeflate() function with Zero arguments --
+
+Warning: gzdeflate() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing gzdeflate() function with more than expected no. of arguments --
+
+Warning: gzdeflate() expects at most 2 parameters, 3 given in %s on line %d
+NULL
+
+-- Testing with incorrect compression level --
+
+Warning: gzdeflate(): compression level (99) must be within -1..9 in %s on line %d
+bool(false)
+
+-- Testing with incorrect parameters --
+
+Warning: gzdeflate() expects parameter 1 to be string, object given in %s on line %d
+NULL
+
+Warning: gzdeflate() expects parameter 2 to be long, object given in %s on line %d
+NULL
+===Done===
\ No newline at end of file
--- /dev/null
+--TEST--
+Test gzdeflate() function : variation
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzdeflate(string data [, int level])
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+include(dirname(__FILE__) . '/data.inc');
+
+echo "*** Testing gzdeflate() : variation ***\n";
+
+
+
+echo "\n-- Testing multiple compression --\n";
+$output = gzdeflate($data);
+var_dump( md5($output));
+var_dump(md5(gzdeflate($output)));
+
+?>
+===Done===
+--EXPECT--
+*** Testing gzdeflate() : variation ***
+
+-- Testing multiple compression --
+string(32) "078554fe65e06f6ff01eab51cfc7ae9b"
+string(32) "86b9f895ef1377da5269ec3cb2729f71"
+===Done===
--- /dev/null
+--TEST--
+Test gzencode() function : basic functionality
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzencode ( string $data [, int $level [, int $encoding_mode ]] )
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+/*
+ * Test basic function of gzencode
+ */
+
+include(dirname(__FILE__) . '/data.inc');
+
+echo "*** Testing gzencode() : basic functionality ***\n";
+
+// Initialise all required variables
+
+$smallstring = "A small string to compress\n";
+
+
+// Calling gzencode() with various compression levels
+
+// Compressing a big string
+for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzencode($data, $i);
+
+ // Clear OS byte before encode
+ $output[9] = "\x00";
+
+ var_dump(md5($output));
+}
+
+// Compressing a smaller string
+for($i = -1; $i < 10; $i++) {
+ echo "-- Compression level $i --\n";
+ $output = gzencode($smallstring, $i);
+
+ // Clear OS byte before encode
+ $output[9] = "\x00";
+
+ var_dump(md5($output));
+}
+
+?>
+===Done===
+--EXPECTF--
+*** Testing gzencode() : basic functionality ***
+-- Compression level -1 --
+string(32) "d9ede02415ce91d21e5a94274e2b9c42"
+-- Compression level 0 --
+string(32) "67aaf60426bb2cbd86d7fe530cb12306"
+-- Compression level 1 --
+string(32) "bce9c439cf767c1988ff4881b287d1ce"
+-- Compression level 2 --
+string(32) "7ddbfed63a76c42808722b66f1c133fc"
+-- Compression level 3 --
+string(32) "ca2b85d194dfa2a4e8a162b646c99265"
+-- Compression level 4 --
+string(32) "cfe28033eaf260bc33ddc04b53d3ba39"
+-- Compression level 5 --
+string(32) "ae357fada2b515422f8bea0aa3bcc48f"
+-- Compression level 6 --
+string(32) "d9ede02415ce91d21e5a94274e2b9c42"
+-- Compression level 7 --
+string(32) "d9ede02415ce91d21e5a94274e2b9c42"
+-- Compression level 8 --
+string(32) "d9ede02415ce91d21e5a94274e2b9c42"
+-- Compression level 9 --
+string(32) "d9ede02415ce91d21e5a94274e2b9c42"
+-- Compression level -1 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 0 --
+string(32) "36220d650930849b67e8e0622f9bf270"
+-- Compression level 1 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 2 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 3 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 4 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 5 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 6 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 7 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 8 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+-- Compression level 9 --
+string(32) "f77bd31e1e4dd11d12828fb661a08010"
+===Done===
\ No newline at end of file
--- /dev/null
+--TEST--
+Test gzencode() function : error conditions
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzencode ( string $data [, int $level [, int $encoding_mode ]] )
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+/*
+ * Test error cases for gzencode
+ */
+
+echo "*** Testing gzencode() : error conditions ***\n";
+
+// Zero arguments
+echo "\n-- Testing gzencode() function with Zero arguments --\n";
+var_dump( gzencode() );
+
+//Test gzencode with one more than the expected number of arguments
+echo "\n-- Testing gzencode() function with more than expected no. of arguments --\n";
+$data = 'string_val';
+$level = 2;
+$encoding_mode = FORCE_DEFLATE;
+$extra_arg = 10;
+var_dump( gzencode($data, $level, $encoding_mode, $extra_arg) );
+
+echo "\n-- Testing with incorrect compression level --\n";
+$bad_level = 99;
+var_dump(gzencode($data, $bad_level));
+
+echo "\n-- Testing with incorrect encoding_mode --\n";
+$bad_mode = 99;
+var_dump(gzencode($data, $level, $bad_mode));
+
+class Tester {
+ function Hello() {
+ echo "Hello\n";
+ }
+}
+
+echo "\n-- Testing with incorrect parameters --\n";
+$testclass = new Tester();
+var_dump(gzencode($testclass));
+var_dump(gzencode($data, $testclass));
+var_dump(gzencode($data, -1, 99.99));
+var_dump(gzencode($data, -1, $testclass));
+var_dump(gzencode($data, "a very none numeric string\n"));
+
+?>
+===Done===
+--EXPECTF--
+*** Testing gzencode() : error conditions ***
+
+-- Testing gzencode() function with Zero arguments --
+
+Warning: gzencode() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing gzencode() function with more than expected no. of arguments --
+
+Warning: gzencode() expects at most 3 parameters, 4 given in %s on line %d
+NULL
+
+-- Testing with incorrect compression level --
+
+Warning: gzencode(): compression level(99) must be within -1..9 in %s on line %d
+bool(false)
+
+-- Testing with incorrect encoding_mode --
+
+Warning: gzencode(): encoding mode must be FORCE_GZIP or FORCE_DEFLATE in %s on line %d
+bool(false)
+
+-- Testing with incorrect parameters --
+
+Warning: gzencode() expects parameter 1 to be string, object given in %s on line %d
+NULL
+
+Warning: gzencode() expects parameter 2 to be long, object given in %s on line %d
+NULL
+
+Warning: gzencode(): encoding mode must be FORCE_GZIP or FORCE_DEFLATE in %s on line %d
+bool(false)
+
+Warning: gzencode() expects parameter 3 to be long, object given in %s on line %d
+NULL
+
+Warning: gzencode() expects parameter 2 to be long, string given in %s on line %d
+NULL
+===Done===
\ No newline at end of file
--- /dev/null
+--TEST--
+Test gzencode() function : variation
+--SKIPIF--
+<?php
+
+if (!extension_loaded("zlib")) {
+ print "skip - ZLIB extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : string gzencode ( string $data [, int $level [, int $encoding_mode ]] )
+ * Description: Gzip-compress a string
+ * Source code: ext/zlib/zlib.c
+ * Alias to functions:
+ */
+
+include(dirname(__FILE__) . '/data.inc');
+
+echo "*** Testing gzencode() : variation ***\n";
+
+echo "\n-- Testing multiple compression --\n";
+$output = gzencode($data);
+var_dump(bin2hex(gzencode($output)));
+
+?>
+===Done===
+--EXPECT--
+*** Testing gzencode() : variation ***
+
+-- Testing multiple compression --
+string(3658) "1f8b0800000000000003010e07f1f81f8b08000000000000036d574d6fe4c80dbdeb57d4ad2f3dfe01eb83e1ec22980e309b4562c067b64449159754dafab0b6e7d7e73d96da1e4c72184c4b2ab2c8f7c847fa25baabba98dc1a8b2b7c38bb324b713ee37f757f56cdc5c7f5b17b9d152f923b157c5ae335e0b75fedd0e2d781c6b98ea3a6ee05affe1dfc3a6527f8f09c52dcb38ba38bb5249934d6ecfe1e53a9ab76ff4c342cf2a64ed2028349fc9a8b139755685352acb82b9fbb67f8bade5cdcb698e1fcec94b7ceba3cb897e806cfc8114350dd1ebbdfa35b62d2478b0056d23ed809b9b95d696d91ce2aa97c911e3fa539c43f84c887554a4d125c9e63ff96711cc08c0866263cb37a0bbe2122ae8f6baecb2284abfb4ddf916db8354cddeef37c1afe5fa02fc7afb3db34f5b3acbdf2eb905490d8f38d7468d253a323d5ebb903760d7944d3b2024e834a99ddce77669bdd823cfbb8e899d4ad4c799677452e6029e80023a03b2374005590641f7d3877df2ad09f3c0e82a54d6a5644fd63049a37ed4bc362016fd9f51264f1e5c630727421ae930b7ed416e93e47b7c71a400390361ffbecb7561bb98f69b5da289e91becc27f08b3b724cb8704f9144d366431d0cb870c56b205deaa2e17636063761a911039fb7e4bf9f06c4f0aecd2ec80e8b41831ca7515e31286166458ea3ef71f2ce7cde2ae269c96d60525724a9c9170b713ed5750758f3cd2a361fc8b288fc92358ce884692e8ea0fe59bd969a0da2eed5831b715749eaae7178f3ebd30fb88c92105f367cce2c882955dc6bf8eca0d5d57540b3092894743ba0fd5b2dad021836191f1afc0bba14dde1642cb0b1aa6879c38907dcefa0720082b801bec61417469219175267dfa047df35b0bd1332001c28cdfafd3bcabe91e74368cdd8d8478e494c190e7ee90c67f2bde288e68ab6b15e883c995be4f8feb6c6dda4278e4f38578ddbdc7be36788daf0c3cb1d1819c73822f7000a0d1813fa94153b572315e51343b536bc64977dff163cebfd8418773261f524017e251fccc60ae29a5770ae097594d52e9c1229d87ce967a36401c46b69945afb249d101c9d420ffa9a123e232c20e76467d5d169202a2dd4c582949e013e745df7958d4b0cc4fd4377a737cd4feea7974070000f314d423e0634cb9a618fdf5dc64fd422181fd59c9230c9f6f9d18dc8fc23e9cccbc7188733b04aa57de83ebea0be3633cff5fa1ff83269be7f44f5a8d84550cc703255fd345dd402034d0b3e11a73ec6e3d4a77f4f685b614329f1b3132ae7af33d02e1e55e291fa6574b758d1f0200e7423dbc852211818043a7c9ce80aa9d59fce0401959f5ea2cf71fde90824f8c9192dbe9d329db143794675ddcf257dd7755273b67340414e3ccad12e3f661f8aad9cf9957dc1275d10a51d3934fa81e68dc6768fb8ee23e373936c8e13feab8b0f50d227f7af76f561fb0950f3d099bbc316c3892a42fb36806d8660e800fa4f43fd4b962d2097d71933a54b77ff948677848eb17bb3a88b621682cfb3bbb49cf42fed6b3944124ad8358ca688aa44dd5f2144c7c9ab16f25b9aca9654ef357ec9ad55c40d324d6cc3d9e3920b863c231d31a95d937fb5520f9c816c79b7dcecc593fb9593cc05a51ebb1eeddd5b49eb437769738d0f64adc579d372b8b7f7c0208487ee3915ebf5766e148ebd77cf4e01f3ec285047011e55838968b6494d517fe29224777b24dd3ddf933101695b102e87db805eef291b74dcfd91628fb2a53f93dbd2968ef2e598746c9204f89fba1f0246fc671610a0591806e46a1346f77c40d910a47c5e20ffb23f003c04b648327a4ed98032c1965bd35bb0044f5344248f56fdb99aa61d6451d68e33489a83bffbe6573541b2da5f64681ea12090f778b2075374778810f73965fa3626a9d41f4df2f83f7c34658cec921b5a9bde49dd5007ec882b02adc514f81aa85898b5cc98e1b137733c0a8789b7f5648d2d231b80bf74978f25d61ce08a8abd11801fd8f995e066676307192ff7641f1cc6e0dee68565b8b22ac3889cd067bf732754a6b270af1044c6a8776811a4f6d8bd0477a9f516064201b920b92d7cd4dc7eee13e6b3eb3528a82f9abb3f388ebe6a8f871393461b73816ec54c99d604174bc5a6801de13908f86aea6a7d0fea107d682bcf1ec348b83872e6b8a316ecd02eb8f8dc86a609bf59a2dd03f1dfa4079436d55e24617be1a2854d008b2b2b1705e2078a7f3946318df1c24f6bf70d4b456eca286ec2b585b28262cc048a098c3e2d5f325a92bb36f691afdc14c822da1b116c9c1c07bb362eb0a04b78834c812134230ebf2044ac2e3c0e3ad00f848dc5010f3bf917ec2fc700b7bf26dacea8440620e04f90f4d97d6dd77cfde8a05c7d3930f1e5811fb8ec5c70964dcc8187ec90e32fdd6b64eec7586413b7d55bed65c4cce39a9b6c15e70e9da94e53fc904e6286f01f5b5562c94211befbc23507e01b2a3865e2f45b5d7b591f290087a5605b82495b4e393f31aa5b37211ec40241a746d903c5eebf117a4d3ddb0d00007b64cbc70e070000"
+===Done===
\ No newline at end of file