From: Daniel Lowrey Date: Wed, 22 Apr 2015 05:02:34 +0000 (-0600) Subject: Add deflate_*() test cases X-Git-Tag: PRE_PHP7_NSAPI_REMOVAL~168^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4d5324088c3e020cf7abc44e27d857c042166b90;p=php Add deflate_*() test cases --- diff --git a/ext/zlib/tests/deflate_add_basic.phpt b/ext/zlib/tests/deflate_add_basic.phpt new file mode 100644 index 0000000000..9f48bb0448 --- /dev/null +++ b/ext/zlib/tests/deflate_add_basic.phpt @@ -0,0 +1,66 @@ +--TEST-- +Test incremental deflate_add() functionality +--SKIPIF-- + +--FILE-- += $flushSize) { + $deflated = deflate_add($resource, $buffer, $flushType); + $buffer = ""; + } else { + $deflated = null; + } + } else { + $deflated = deflate_add($resource, $buffer, ZLIB_FINISH); + } + } +} + +$modes = [ + 'ZLIB_ENCODING_RAW' => ZLIB_ENCODING_RAW, + 'ZLIB_ENCODING_GZIP' => ZLIB_ENCODING_GZIP, + 'ZLIB_ENCODING_DEFLATE' => ZLIB_ENCODING_DEFLATE, +]; +$flushSizes = [1, 4, 32768]; +$flushTypes = [ + 'ZLIB_SYNC_FLUSH' => ZLIB_SYNC_FLUSH, + 'ZLIB_PARTIAL_FLUSH' => ZLIB_PARTIAL_FLUSH, + 'ZLIB_FULL_FLUSH' => ZLIB_FULL_FLUSH, + 'ZLIB_NO_FLUSH' => ZLIB_NO_FLUSH, + 'ZLIB_BLOCK' => ZLIB_BLOCK, +]; + +foreach ($modes as $modeKey => $mode) { + foreach ($flushSizes as $flushSize) { + foreach ($flushTypes as $flushTypeKey => $flushType) { + $uncompressed = $compressed = ""; + $stream = deflateStream($mode, $flushSize, $flushType); + foreach (range("a", "z") as $c) { + $uncompressed .= $c; + $compressed .= $stream->send($c); + } + $compressed .= $stream->send(null); + if ($uncompressed !== zlib_decode($compressed)) { + echo "Error: {$modeKey} | {$flushSize} | {$flushTypeKey}\n"; + } + } + } +} +?> +===DONE=== +--EXPECTF-- +===DONE=== diff --git a/ext/zlib/tests/deflate_add_error.phpt b/ext/zlib/tests/deflate_add_error.phpt new file mode 100644 index 0000000000..159f1648c9 --- /dev/null +++ b/ext/zlib/tests/deflate_add_error.phpt @@ -0,0 +1,24 @@ +--TEST-- +Test incremental deflate_add() error functionality +--SKIPIF-- + +--FILE-- + +--EXPECTF-- + +Warning: deflate_add(): Invalid deflate resource in %s on line %d +bool(false) + +Warning: deflate_add(): flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH in %s on line %d +bool(false) diff --git a/ext/zlib/tests/deflate_init_error.phpt b/ext/zlib/tests/deflate_init_error.phpt new file mode 100644 index 0000000000..424272c124 --- /dev/null +++ b/ext/zlib/tests/deflate_init_error.phpt @@ -0,0 +1,32 @@ +--TEST-- +Test deflate_init() error +--SKIPIF-- + +--FILE-- + 42])); +var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['level' => -2])); +var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['memory' => 0])); +var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['memory' => 10])); +?> +--EXPECTF-- + +Warning: deflate_init(): encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d +bool(false) + +Warning: deflate_init(): compression level (42) must be within -1..9 in %s on line %d +bool(false) + +Warning: deflate_init(): compression level (-2) must be within -1..9 in %s on line %d +bool(false) + +Warning: deflate_init(): compression memory level (0) must be within 1..9 in %s on line %d +bool(false) + +Warning: deflate_init(): compression memory level (10) must be within 1..9 in %s on line %d +bool(false) diff --git a/ext/zlib/tests/deflate_init_reuse.phpt b/ext/zlib/tests/deflate_init_reuse.phpt new file mode 100644 index 0000000000..b351f496f7 --- /dev/null +++ b/ext/zlib/tests/deflate_init_reuse.phpt @@ -0,0 +1,28 @@ +--TEST-- +Test incremental deflate_init() context reuse +--SKIPIF-- + +--FILE-- + +===DONE=== +--EXPECTF-- +===DONE===