aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2016-09-11 13:59:06 +0200
committerTristan Darricau <github@nicofuma.fr>2016-09-11 13:59:06 +0200
commit1a187e0607aeb23dc7f95fec0e3163898c2375f4 (patch)
tree8283e900c6d565ec1379c3b2ac04265c832b9a37 /tests
parent316b69805b82ae661c8c45b80df883d896b00b42 (diff)
parentd2750b650fb3600ef2cf7b7139998e1a71c7d5ef (diff)
downloadforums-1a187e0607aeb23dc7f95fec0e3163898c2375f4.tar
forums-1a187e0607aeb23dc7f95fec0e3163898c2375f4.tar.gz
forums-1a187e0607aeb23dc7f95fec0e3163898c2375f4.tar.bz2
forums-1a187e0607aeb23dc7f95fec0e3163898c2375f4.tar.xz
forums-1a187e0607aeb23dc7f95fec0e3163898c2375f4.zip
Merge pull request #4440 from danchr/ticket/14774
[ticket/14774] Support partial downloads of attachments * danchr/ticket/14774: [ticket/14774] Support partial downloads of attachments
Diffstat (limited to 'tests')
-rw-r--r--tests/download/http_byte_range_test.php62
1 files changed, 55 insertions, 7 deletions
diff --git a/tests/download/http_byte_range_test.php b/tests/download/http_byte_range_test.php
index f920299048..8975ec1799 100644
--- a/tests/download/http_byte_range_test.php
+++ b/tests/download/http_byte_range_test.php
@@ -45,24 +45,72 @@ class phpbb_download_http_byte_range_test extends phpbb_test_case
public function parse_range_request_data()
{
return array(
- // Does not read until the end of file.
+ // Valid request
array(
array('3-4'),
10,
- false,
+ array(
+ 'byte_pos_start' => 3,
+ 'byte_pos_end' => 4,
+ 'bytes_requested' => 2,
+ 'bytes_total' => 10,
+ ),
),
- // Valid request, handle second range.
+ // Get the beginning
array(
- array('0-0', '120-125'),
- 125,
+ array('-5'),
+ 10,
array(
- 'byte_pos_start' => 120,
- 'byte_pos_end' => 124,
+ 'byte_pos_start' => 0,
+ 'byte_pos_end' => 5,
+ 'bytes_requested' => 6,
+ 'bytes_total' => 10,
+ ),
+ ),
+
+ // Get the end
+ array(
+ array('5-'),
+ 10,
+ array(
+ 'byte_pos_start' => 5,
+ 'byte_pos_end' => 9,
'bytes_requested' => 5,
+ 'bytes_total' => 10,
+ ),
+ ),
+
+ // Overlong request
+ array(
+ array('3-20'),
+ 10,
+ array(
+ 'byte_pos_start' => 3,
+ 'byte_pos_end' => 9,
+ 'bytes_requested' => 7,
+ 'bytes_total' => 10,
+ ),
+ ),
+
+ // Multiple, contiguous range
+ array(
+ array('10-20', '21-30'),
+ 125,
+ array(
+ 'byte_pos_start' => 10,
+ 'byte_pos_end' => 30,
+ 'bytes_requested' => 21,
'bytes_total' => 125,
)
),
+
+ // We don't do multiple, non-contiguous range
+ array(
+ array('0-0', '120-125'),
+ 125,
+ false,
+ ),
);
}
}