diff options
author | Marc Alexander <admin@m-a-styles.de> | 2019-10-19 16:11:22 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2019-10-19 16:11:22 +0200 |
commit | b149e50bf16850cab268660c0f7291be6c130f9f (patch) | |
tree | 0c06204090348dc26d954c925aef4e3f5e12c8f5 /tests/plupload | |
parent | 5bd3b7ec378579dc84d2d838ba43d3a77f519159 (diff) | |
download | forums-b149e50bf16850cab268660c0f7291be6c130f9f.tar forums-b149e50bf16850cab268660c0f7291be6c130f9f.tar.gz forums-b149e50bf16850cab268660c0f7291be6c130f9f.tar.bz2 forums-b149e50bf16850cab268660c0f7291be6c130f9f.tar.xz forums-b149e50bf16850cab268660c0f7291be6c130f9f.zip |
[ticket/16141] Add tests for plupload's get_chunk_size()
PHPBB3-16141
Diffstat (limited to 'tests/plupload')
-rw-r--r-- | tests/plupload/plupload_test.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/plupload/plupload_test.php b/tests/plupload/plupload_test.php index 46bebb8d35..65141f4f2a 100644 --- a/tests/plupload/plupload_test.php +++ b/tests/plupload/plupload_test.php @@ -54,4 +54,72 @@ class phpbb_plupload_test extends phpbb_test_case $this->assertEquals($expected, $plupload->generate_resize_string()); } + + public function data_get_chunk_size() + { + return [ + [[ + 'memory_limit' => -1, + 'upload_max_filesize' => 0, + 'post_max_size' => 0, + ], 0], + [[ + 'memory_limit' => -1, + 'upload_max_filesize' => 500, + 'post_max_size' => 400, + ], 200], + [[ + 'memory_limit' => 100, + 'upload_max_filesize' => 0, + 'post_max_size' => 300, + ], 50], + [[ + 'memory_limit' => 300, + 'upload_max_filesize' => 200, + 'post_max_size' => 0, + ], 100], + [[ + 'memory_limit' => 3000, + 'upload_max_filesize' => 800, + 'post_max_size' => 900, + ], 400], + [[ + 'memory_limit' => 2000, + 'upload_max_filesize' => 1000, + 'post_max_size' => 600, + ], 300], + ]; + } + + /** + * @dataProvider data_get_chunk_size + */ + public function test_get_chunk_size($limits_ary, $expected) + { + global $phpbb_root_path, $phpEx; + + $lang = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx)); + $config = new \phpbb\config\config([]); + + $ini_wrapper = $this->getMockBuilder('\bantu\IniGetWrapper\IniGetWrapper') + ->setMethods(['getBytes']) + ->getMock(); + $ini_wrapper->method('getBytes') + ->will($this->returnValueMap([ + ['memory_limit', $limits_ary['memory_limit']], + ['upload_max_filesize', $limits_ary['upload_max_filesize']], + ['post_max_size', $limits_ary['post_max_size']] + ])); + + $plupload = new \phpbb\plupload\plupload( + '', + $config, + new phpbb_mock_request, + new \phpbb\user($lang, '\phpbb\datetime'), + $ini_wrapper, + new \phpbb\mimetype\guesser(array(new \phpbb\mimetype\extension_guesser)) + ); + + $this->assertEquals($expected, $plupload->get_chunk_size()); + } } |