From b3f87419437743612a5c920911638e8bdd3d5166 Mon Sep 17 00:00:00 2001 From: kjdev Date: Fri, 19 Jan 2024 11:47:27 +0900 Subject: [PATCH] test: add brotli_{compress,uncompress}_add test mode --- tests/incremental_compress_add_alias.phpt | 25 +++++++---- tests/incremental_compress_add_args.phpt | 48 ++++++++++++++++----- tests/incremental_compress_add_basic.phpt | 26 +++++++---- tests/incremental_uncompress_add_alias.phpt | 35 +++++++++------ tests/incremental_uncompress_add_basic.phpt | 35 +++++++++------ 5 files changed, 112 insertions(+), 57 deletions(-) diff --git a/tests/incremental_compress_add_alias.phpt b/tests/incremental_compress_add_alias.phpt index 3fd83ad..d0832be 100644 --- a/tests/incremental_compress_add_alias.phpt +++ b/tests/incremental_compress_add_alias.phpt @@ -6,17 +6,24 @@ if (!extension_loaded('brotli')) die('skip need ext/brotli'); ?> --FILE-- BROTLI_PROCESS, + 'BROTLI_FLUSH' => BROTLI_FLUSH, +]; -$resource = Brotli\compress_init(); -foreach (range('a', 'z') as $c) { - $uncompressed .= $c; - $compressed .= Brotli\compress_add($resource, $c, BROTLI_PROCESS); -} -$compressed .= Brotli\compress_add($resource, '', BROTLI_FINISH); +foreach ($modeTypes as $modeTypeKey => $modeType) { + $uncompressed = $compressed = ''; + + $resource = Brotli\compress_init(); + foreach (range('a', 'z') as $c) { + $uncompressed .= $c; + $compressed .= Brotli\compress_add($resource, $c, $modeType); + } + $compressed .= Brotli\compress_add($resource, '', BROTLI_FINISH); -if ($uncompressed !== brotli_uncompress($compressed)) { - echo "Error: Brotli\\compress_add\n"; + if ($uncompressed !== brotli_uncompress($compressed)) { + echo "Error: Brotli\\compress_add | {$modeTypeKey}\n"; + } } ?> ===DONE=== diff --git a/tests/incremental_compress_add_args.phpt b/tests/incremental_compress_add_args.phpt index c4e7270..dc4070f 100644 --- a/tests/incremental_compress_add_args.phpt +++ b/tests/incremental_compress_add_args.phpt @@ -9,19 +9,27 @@ if (!extension_loaded('brotli')) die('skip need ext/brotli'); function test($quality = 0, $mode = 0) { echo "quality={$quality}, mode={$mode}\n"; - $uncompressed = $compressed = ''; + $modeTypes = [ + 'BROTLI_PROCESS' => BROTLI_PROCESS, + 'BROTLI_FLUSH' => BROTLI_FLUSH, + ]; - $resource = brotli_compress_init($quality, $mode); - foreach (range('a', 'z') as $c) { - $uncompressed .= $c; - $compressed .= brotli_compress_add($resource, $c, BROTLI_PROCESS); - } - $compressed .= brotli_compress_add($resource, '', BROTLI_FINISH); + foreach ($modeTypes as $modeTypeKey => $modeType) { + + $uncompressed = $compressed = ''; + + $resource = brotli_compress_init($quality, $mode); + foreach (range('a', 'z') as $c) { + $uncompressed .= $c; + $compressed .= brotli_compress_add($resource, $c, $modeType); + } + $compressed .= brotli_compress_add($resource, '', BROTLI_FINISH); - if ($uncompressed === brotli_uncompress($compressed)) { - echo "OK\n"; - } else { - echo "Error: brotli_compress_add\n"; + if ($uncompressed === brotli_uncompress($compressed)) { + echo "OK\n"; + } else { + echo "Error: brotli_compress_add | {$modeTypeKey}\n"; + } } } @@ -36,30 +44,48 @@ foreach ([0, 1, 2, 3, -1] as $mode) { --EXPECTF-- quality=0, mode=0 OK +OK quality=9, mode=0 OK +OK quality=11, mode=0 OK +OK quality=20, mode=0 +Warning: brotli_compress_init(): brotli: compression level (20) must be within 0..11 in %s on line %d +OK + Warning: brotli_compress_init(): brotli: compression level (20) must be within 0..11 in %s on line %d OK quality=-1, mode=0 +Warning: brotli_compress_init(): brotli: compression level (-1) must be within 0..11 in %s on line %d +OK + Warning: brotli_compress_init(): brotli: compression level (-1) must be within 0..11 in %s on line %d OK quality=0, mode=0 OK +OK quality=0, mode=1 OK +OK quality=0, mode=2 OK +OK quality=0, mode=3 +Warning: brotli_compress_init(): brotli: compression mode (3) must be 0, 1, 2 in %s on line %d +OK + Warning: brotli_compress_init(): brotli: compression mode (3) must be 0, 1, 2 in %s on line %d OK quality=0, mode=-1 +Warning: brotli_compress_init(): brotli: compression mode (-1) must be 0, 1, 2 in %s on line %d +OK + Warning: brotli_compress_init(): brotli: compression mode (-1) must be 0, 1, 2 in %s on line %d OK ===DONE=== diff --git a/tests/incremental_compress_add_basic.phpt b/tests/incremental_compress_add_basic.phpt index f1d0b59..4d16255 100644 --- a/tests/incremental_compress_add_basic.phpt +++ b/tests/incremental_compress_add_basic.phpt @@ -6,17 +6,25 @@ if (!extension_loaded('brotli')) die('skip need ext/brotli'); ?> --FILE-- BROTLI_PROCESS, + 'BROTLI_FLUSH' => BROTLI_FLUSH, +]; -$resource = brotli_compress_init(); -foreach (range('a', 'z') as $c) { - $uncompressed .= $c; - $compressed .= brotli_compress_add($resource, $c, BROTLI_PROCESS); -} -$compressed .= brotli_compress_add($resource, '', BROTLI_FINISH); +foreach ($modeTypes as $modeTypeKey => $modeType) { + $uncompressed = $compressed = ''; + + $resource = brotli_compress_init(); + + foreach (range('a', 'z') as $c) { + $uncompressed .= $c; + $compressed .= brotli_compress_add($resource, $c, $modeType); + } + $compressed .= brotli_compress_add($resource, '', BROTLI_FINISH); -if ($uncompressed !== brotli_uncompress($compressed)) { - echo "Error: brotli_compress_add\n"; + if ($uncompressed !== brotli_uncompress($compressed)) { + echo "Error: brotli_compress_add | {$modeTypeKey}\n"; + } } ?> ===DONE=== diff --git a/tests/incremental_uncompress_add_alias.phpt b/tests/incremental_uncompress_add_alias.phpt index 611957d..d3a80a4 100644 --- a/tests/incremental_uncompress_add_alias.phpt +++ b/tests/incremental_uncompress_add_alias.phpt @@ -6,24 +6,31 @@ if (!extension_loaded('brotli')) die('skip need ext/brotli'); ?> --FILE-- BROTLI_PROCESS, + 'BROTLI_FLUSH' => BROTLI_FLUSH, +]; -$compressed = brotli_compress($uncompressed); -$compressedLen = strlen($compressed); +foreach ($modeTypes as $modeTypeKey => $modeType) { + $uncompressed = ''; + for ($i = 0; $i < (32768 * 2); $i++) { + $uncompressed .= chr(rand(48, 125)); + } -$out = ''; + $compressed = brotli_compress($uncompressed); + $compressedLen = strlen($compressed); -$resource = Brotli\uncompress_init(); -for ($i = 0; $i < $compressedLen; $i++) { - $out .= Brotli\uncompress_add($resource, $compressed[$i], BROTLI_PROCESS); -} -$out .= Brotli\uncompress_add($resource, '', BROTLI_FINISH); + $out = ''; + + $resource = Brotli\uncompress_init(); + for ($i = 0; $i < $compressedLen; $i++) { + $out .= Brotli\uncompress_add($resource, $compressed[$i], $modeType); + } + $out .= Brotli\uncompress_add($resource, '', BROTLI_FINISH); -if ($out !== $uncompressed) { - echo "Error: Brotli\\uncompress_add\n"; + if ($out !== $uncompressed) { + echo "Error: Brotli\\uncompress_add | {$modeTypeKey}\n"; + } } ?> ===DONE=== diff --git a/tests/incremental_uncompress_add_basic.phpt b/tests/incremental_uncompress_add_basic.phpt index ff74451..61bf503 100644 --- a/tests/incremental_uncompress_add_basic.phpt +++ b/tests/incremental_uncompress_add_basic.phpt @@ -6,24 +6,31 @@ if (!extension_loaded('brotli')) die('skip need ext/brotli'); ?> --FILE-- BROTLI_PROCESS, + 'BROTLI_FLUSH' => BROTLI_FLUSH, +]; -$compressed = brotli_compress($uncompressed); -$compressedLen = strlen($compressed); +foreach ($modeTypes as $modeTypeKey => $modeType) { + $uncompressed = ''; + for ($i = 0; $i < (32768 * 2); $i++) { + $uncompressed .= chr(rand(48, 125)); + } -$out = ''; + $compressed = brotli_compress($uncompressed); + $compressedLen = strlen($compressed); -$resource = brotli_uncompress_init(); -for ($i = 0; $i < $compressedLen; $i++) { - $out .= brotli_uncompress_add($resource, $compressed[$i], BROTLI_PROCESS); -} -$out .= brotli_uncompress_add($resource, '', BROTLI_FINISH); + $out = ''; + + $resource = brotli_uncompress_init(); + for ($i = 0; $i < $compressedLen; $i++) { + $out .= brotli_uncompress_add($resource, $compressed[$i], $modeType); + } + $out .= brotli_uncompress_add($resource, '', BROTLI_FINISH); -if ($out !== $uncompressed) { - echo "Error: brotli_uncompress_add\n"; + if ($out !== $uncompressed) { + echo "Error: brotli_uncompress_add | {$modeTypeKey}\n"; + } } ?> ===DONE===