aboutsummaryrefslogtreecommitdiffstats
path: root/tests/plupload
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2019-10-19 16:11:22 +0200
committerMarc Alexander <admin@m-a-styles.de>2019-10-19 16:11:22 +0200
commitb149e50bf16850cab268660c0f7291be6c130f9f (patch)
tree0c06204090348dc26d954c925aef4e3f5e12c8f5 /tests/plupload
parent5bd3b7ec378579dc84d2d838ba43d3a77f519159 (diff)
downloadforums-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.php68
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());
+ }
}